对表单序列化,得到字符串,如 a=1&b=2&c=3 这种格式
var params =$('#form').serialize();
params = decodeURIComponent(params,true);//对serialize后的参数值进行一次解码,防止中文乱码
但是我需要将表单数据转换成json格式的。
得到数据格式{a:1,b:2,c:3}
如下解决方法
var param = $(form).serializeObject();
//表单里所有的参数全部放到了param里面,可以根据相应的方法进行修改和设置
//serializeobject(); 可以将表单中的文本框 下拉框 根据name 属性 序列化成字符串,必须在js中写这个方法
$.fn.serializeObject = function() {
var o = {"unique_id":new Date().getTime(),"state":false};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
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;
};