使用serializeObject()將form表單中的資料序列化成物件
阿新 • • 發佈:2019-02-04
在ajax中有 serializeArray()方法 可以將form表單中的資料序列化成如下的格式
[
{
name: "a",
value: "1"
},
{
name: "b",
value: "2"
},
{
name: "c",
value: "3"
},
{
name: "d",
value: "4"
},
{
name: "e" ,
value: "5"
}
]
但是有時候,我們需要將form表單序列化成物件的格式,那麼封裝一個簡單的函式便會更簡單
$.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;
};
可以使用這個方法直接將from表單中的資料序列化成如下的物件格式
{
name:1,
age:11,
weight:60
}