开发者

post non form values?

开发者 https://www.devze.com 2023-01-05 17:44 出处:网络
I am wondering if it is possible开发者_StackOverflow中文版 to somehow get the value of a div and attach it to the form post on submit?Using JavaScript, you can get the DIV contents and insert them int

I am wondering if it is possible开发者_StackOverflow中文版 to somehow get the value of a div and attach it to the form post on submit?


Using JavaScript, you can get the DIV contents and insert them into a hidden form field.

An example - a page snippet (jQuery used for simplicity, plain JS would work too):

<form id="yourform" action="/some/uri">
   <input type="hidden" name="your_div_content" id="hidden_element" />
   <input type="submit" />
</form>
<div id="yourdiv">
   This text will be copied into the form using JS
</div>
<script>
    $('#yourform').submit(function(){ /* On #yourform submit ... */
        $('#hidden_element').val( /* ... set #hidden_element's value ... */
            $('#yourdiv').html() /* ... to whatever is in #yourdiv . */
        );
    });
</script>

Of course, this will only work when JS is enabled in the browser.


You may want to use a hidden field <input type="hidden"> in your form, and then set the value of your hidden field on form submit with the innerHTML of your div.


You could use ajax. That way you could send whatever data you wanted however you wanted. For instance (this is using mootools):

var req = new Request({url: 'somepage.php', data: 'queryStringDate'});
req.send();

There you go :)

This of cause can be done without any framework, I just don't remember the code in my head :-P


It depends what you mean by the "value of a div".

For example, you can retrieve all HTML inside the div by using document.getElementById(your_div_id_here).innerHTML

Alternatively, you can access values of the div attributes by using e.g. document.getElementById(your_div_id_here).title to access the div's title attribute.


If you intercept the submit event of your form (maybe by intercepting the click event on the form’s submit button), then you certainly can GET or POST with anything including content of an element. With vanilla HTML, however, I’m afraid it’s not possible.

Tucking values into hidden fields might also work, depends on preference. ;)


You could have a hidden input and populate it with the contents of the div before doing your submit, then it would be included.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号