Как добавить дополнительные поля в форму перед отправкой?
есть ли способ использовать javascript и JQuery, чтобы добавить некоторые дополнительные поля для отправки из формы HTTP с помощью POST?
Я имею в виду:
<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>
5 ответов:
да.Вы можете попробовать с некоторыми скрытыми парами.
$("#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; });
вы можете добавить
hiddeninputС любым значением вам нужно отправить:$('#form').submit(function(eventObj) { $(this).append('<input type="hidden" name="someName" value="someValue">'); return true; });
это работает:
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") } });
Comments