jquery插件serializeFormToObject
$.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; });