serializeArray for form



我能为这样的表单执行serializeArray吗-?

$(document).on("click", ".rq-submit", function(e){  
var formData = $(this).parents("form").serializeArray();
formData.push({name: 'act', value: act});
formData.push({name: 'rqID', value: rqID});
});

HTML

<form id="rq-form-2" action="#"  method="post"  class="rq-form ">
<input type="text" name="rq[name]">
<input type="text" name="rq[email]">
<input class="btn btn-success rq-submit" data-act="edit" value="SUBMIT" type="submit" >
</form>

如果你想发送url编码的表单数据,这是ajax默认的内容类型,以及浏览器如何发送表单,你可以使用serialize()$.param()来序列化对象

$(document).on("submit", ".rq-form", function(e){ 
e.preventDefault();
var extraParams ={
act:22,
rqId:44
}

var formData = $(this).serialize();
var postData = formData +'&'+ $.param(extraParams);

console.log(postData);


});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="rq-form-2" action="#"  method="post"  class="rq-form ">
<input type="text" name="rq[name]" value="foo">
<input type="text" name="rq[email]" value="bar">
<input class="btn btn-success rq-submit" data-act="edit" value="SUBMIT" type="submit" >
</form>

最新更新