如何将表单数据序列化为具有嵌套属性的对象

时间:2015-06-29 15:47:31

标签: javascript jquery

给出以下输入:

<input name="person[1]['first']" />
<input name="person[2]['first']" />
<input name="person[3]['first']" />

我想把它序列化为一个像这样的对象:

person = {
  1: {first:value},
  2: {first:value},
  3: {first:value}
}

现在jQuery或javascript中是否提供此功能?或者我是否必须编写一个函数来执行此操作?

2 个答案:

答案 0 :(得分:0)

当它位于<form>标记内时,您可以使用

$(formElement).serialize();

答案 1 :(得分:0)

您正在寻找serializeArray()

修改

在表单提交上添加简短示例:

$('#container').on('submit', '#myForm', function(e) {
    e.preventDefault();
    var data = $(this).serializeArray(); // $(this) contains the form element
    console.log(data); // will output serialized data
    console.log(data.email); // will output email input value (if any)
});