如何在提交之前添加额外的字段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") } });