views:

774

answers:

5

Can JS submit name/vale pairs through a document.testform.submit(); ? or does it have to be submitted through the html tags, for example

<INPUT TYPE="text" NAME="inputbox1" VALUE="This is such a great form!" SIZE=50><P>
+1  A: 

no, you'll have to mash it yourself into JSON using javascript

bchhun
+1  A: 

With jquery it is very simple:

$("#formid").bind("submit", function(){
 var str = $("#formid").serialize();
 $.post("url?"+str);
 return false;
}
Marius
Trying to limit adding any libraries, but looks tempting
Tommy
+1  A: 

You could set the post data of an ajax request using only JS.

Dror
+1  A: 

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>
bobince
A: 

It's plain simple using jQuery:

$.post(url, {"name":"value"})
DreamSonic