注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

{'coding': 'life'}

          I want to be a geek

 
 
 

日志

 
 
 
 

form序列化json  

2011-01-18 11:55:56|  分类: 前端 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在使用json的时候有时候,需要把整个表单序列化成json后传到后台处理,在网上找了两个:
http://css-tricks.com/snippets/jquery/serialize-form-to-json/
http://www.cnblogs.com/nixil/archive/2010/12/08/1900745.html
感觉这两个都不是很适合,根据后面这个改了下,感觉不错,分享下:
$.fn.serializeObject = function()
        {
            var o = {};
            var a = this.serializeArray();
            var i = 0;
            $.each(a, function() {
                if(this.name){
                    i++;
                }
                eval("o."+this.name+"='"+this.value+"';");
            });
            o.nameCounts = i+"";//表单name个数
            return JSON.stringify(o);
        };
用的时候,要引jquery.js和json.js,再把这断代码拷上,直接调用:$("#formId").serializeObject();
有找了个,http://benalman.com/projects/jquery-misc-plugins/#serializeobject  这个更好点:
$.fn.serializeObject = function(){
    var obj = {};
    var count = 0;
    $.each( this.serializeArray(), function(i,o){
        var n = o.name, v = o.value;
        count++;
        obj[n] = obj[n] === undefined ? v
        : $.isArray( obj[n] ) ? obj[n].concat( v )
        : [ obj[n], v ];
    });
    obj.nameCounts = count + "";//表单name个数
    return JSON.stringify(obj);
};
  评论这张
 
阅读(2321)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017