Jquery序列化多个表单并以不同的密钥发送为JSON

时间:2015-05-11 17:26:19

标签: javascript jquery arrays json

您好我想序列化多个表单并将其作为json用不同的密钥发送。

我希望json为

"{userDetails:[{'name':'Abc'}],contactDetails:[{'mobile':'123456'}]}" 

我试过这个

<form id="form1">
Name : <input type="text" name="name" />
</form>

<form id="form2">
Mobile : <input type="text" name="mobile" />
</form>
<input type="button" onclick="submitForm();" value="Save" />
<script>
  function submitForm(){
        var jsonString = $('#form1,#form2').serializeArray();
}
</script>

1 个答案:

答案 0 :(得分:1)

serializeArray创建一个对象数组。如果要将其放入另一个对象,则需要明确地执行此操作。您需要调用JSON.stringify将其转换为JSON。

function submitForm() {
    var details = {
        userDetails: $("#form1").serializeArray(),
        contactDetails: $("#form2").serializeArray()
    };
    var jsonString = JSON.stringify(details);
    ...
}