首页 > 解决方案 > jquery - 表单的序列化数组

问题描述

我可以为这样的形式做 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>

标签: jquery

解决方案


如果您想发送 ajax 默认内容类型的 url 编码的表单数据,以及浏览器如何发送您可以使用的表单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>


推荐阅读