现在有下面的的一个form表单:我们需要将它里面的数据内容转化为json格式:
<form id="myForm">
<input type="text" name="name1" value="name1"/>
<input type="text" name="name2" value="name2"/>
<input type="text" name="name3" value="name3"/>
<div><input type="submit" id="submitBtn"></div>
</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;
};
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a,function(){
if(o[this.name] !== underfined) {
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;
};
获取表单中的数据:
$("#submitBtn").on("click",function(){
var formData = $("myForm").serializeObject();
console.log(formData);
});