如何在提交之前添加额外的字段forms?

有没有一种方法来使用JavaScript和JQuery来添加一些额外的字段,使用POST从HTTP表单发送?

我的意思是:

<form action="somewhere" method="POST" id="form"> <input type="submit" name="submit" value="Send" /> </form> <script type="text/javascript"> $("#form").submit( function(eventObj) { // I want to add a field "field" with value "value" here // to the POST data return true; } </script> 

是的,你可以尝试一些隐藏的参数。

  $("#form").submit( function(eventObj) { $('<input />').attr('type', 'hidden') .attr('name', "something") .attr('value', "something") .appendTo('#form'); return true; }); 

尝试这个:

 $('#form').submit(function(eventObj) { $(this).append('<input type="hidden" name="field_name" value="value" /> '); return true; }); 

您可以添加任何需要发送的值的hidden input

 $('#form').submit(function(eventObj) { $(this).append('<input type="hidden" name="someName" value="someValue">'); return true; }); 
 $('#form').append('<input type="text" value="'+yourValue+'" />'); 

这工作:

 var form = $(this).closest('form'); form = form.serializeArray(); form = form.concat([ {name: "customer_id", value: window.username}, {name: "post_action", value: "Update Information"} ]); $.post('/change-user-details', form, function(d) { if (d.error) { alert("There was a problem updating your user details") } }); 
Interesting Posts