form转json,将form表单中的数据序列化数组后转换为Json
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
form转json,将form表单中的数据序列化数组后转换为Json 页⾯中引⽤了jquery,第⼀想到的就是序列化,但是序列化后的表单字段为a=1&b=2这种。
这⾥写⼀个jquery的扩展⽅法
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[]) {
if (!o[].push) {
o[] = [o[]];
}
o[].push(this.value || '');
} else {
o[] = this.value || '';
}
});
return o;
};
这个⽅法是将表单序列化成json的。
像这样调⽤:
var para = $('form').serializeObject() ;
para = JSON.stringify(para) ;
先把表单数据序列化为⼀个json对象,然后将json对象转换成⼀个json字符串。
这样para就是⼀个json字符串啦。
就可以发起请求了
注意:这个只能获取到所有的input标签,如果想获取下拉框的话,需要单独获取,然后把获取到的值拼接进去。
例如:
var data=$("#fm").serializeObject();
JSON.stringify(data);
data.txt2="1111";//修改值
var sel1=$("#sel1").val();//获取下拉框的值
data.sel1=sel1;//拼接进去。