Can JS submit name/vale pairs through a document.testform.submit(); ? or does it have to be submitted through the html tags, for example
With jquery it is very simple:
$("#formid").bind("submit", function(){
var str = $("#formid").serialize();
$.post("url?"+str);
return false;
}
You could set the post data of an ajax request using only JS.
It's plain simple using jQuery:
$.post(url, {"name":"value"})
no, you'll have to mash it yourself into JSON using javascript
Typically you include an <input type="hidden"> in the form, and set the value you want in the event handler before it gets submitted.
<form method="post" action="thing" id="sandwich"><fieldset>
<input type="text" name="inputbox1" value="This is such a great form!" />
<input type="hidden" name="jsremark" />
</fieldset></form>
<script type="text/javascript">
document.getElementById('sandwich').onsubmit= function() {
this.elements.jsremark.value= 'Secretly it aint that great';
return true;
}
</script>