jquery serializeobject();方法序列化表单的属性,将表单转换成json格式

 对表单序列化,得到字符串,如  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;
}; 

 


版权声明:本文为yulongxue原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。