$.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }
通过使用这个方法可以将form里面的内容转化成如下漂亮的形式
{
"a":1,
"b":2,
"c":3
}
注:serialzeArray根据Jquery的文档,可以提取表单的元素,转换成如下形式:
[
{
name: "a",
value: "1"
},
{
name: "b",
value: "2"
},
{
name: "c",
value: "3"
},
{
name: "d",
value: "4"
},
{
name: "e",
value: "5"
}
]
也可以不使用serializeformtoobject方法自己封装一个类似的代码例如下列的代码把表单从转换成js对象格式
_$entityChangeFilterForm.serializeArray().map(function (x) { prms[abp.utils.toCamelCase(x.name)] = x.value; });