jQuery序列化表单数据 serialize()、serializeArray(),serializeJson()及使用


        用户名:

        密   码:

        爱   好:吃饭 睡觉

        性   别:男

        学   校:
       



          
       



          
 

1.var str = $("#test_form").serialize();//返回字符串

输出:username=&password=&hobby=eat&sex=man&school=yangguang

2.var jsonData = $("#test_form").serializeArray();//返回json对象

输出:[

{"name":"username","value":""},

{"name":"password","value":""},

{"name":"hobby","value":"eat"},

{"name":"sex","value":"man"},

{"name":"school","value":"yangguang"}

]

3.使用serializeJson(),并不是jquery自带的函数,

(function($){ 
        $.fn.serializeJson=function(){ 
          var serializeObj={}; 
          var array=this.serializeArray(); 
          var str=this.serialize(); 
          $(array).each(function(){ 
            if(serializeObj[this.name]){ 
              if($.isArray(serializeObj[this.name])&&this .value!=""){ 
                serializeObj[this.name].push(this.value); 
              }else { 
                  if(this .value!=""){
                      serializeObj[this.name]=[serializeObj[this.name],this.value]; 
                  }           
              } 
            }else{ 
                if(this .value!=""){
                     serializeObj[this.name]=this.value; 
                }          
            } 
          }); 
          return serializeObj; 
        }; 
      })(jQuery);

使用:var data = $("#test_form").serializeJson();//返回json对象

输出:序列化为json格式为:{"hobby":"eat","sex":"man","school":"yangguang"}

你可能感兴趣的:(JS)