1. 程式人生 > >Jquery 將表單序列化為Json物件.同時提交多個表單的引數

Jquery 將表單序列化為Json物件.同時提交多個表單的引數

首先對某一表單進行Json物件序列化: 

[javascript] view plain copy 在CODE上檢視程式碼片派生到我的程式碼片
  1. (function($){  
  2.         $.fn.serializeJson=function(){  
  3.             var serializeObj={};  
  4.             var array=this.serializeArray();  
  5.             var str=this.serialize();  
  6.             $(array).each(function(){  
  7.                 if(serializeObj[
    this.name]){  
  8.                     if($.isArray(serializeObj[this.name])){  
  9.                         serializeObj[this.name].push(this.value);  
  10.                     }else{  
  11.                         serializeObj[this.name]=[serializeObj[this.name],this.value];  
  12.                     }  
  13.                 }else
    {  
  14.                     serializeObj[this.name]=this.value;   
  15.                 }  
  16.             });  
  17.             return serializeObj;  
  18.         };  
  19.     })(jQuery);  


var proRuestl_1 = $("#proResult1").serializeJson();//資料序列化

var proRuestl_2= $("#proResult2").serializeJson();//資料序列化

var proRuestl_3= $("#proResult3").serializeJson();//資料序列化

然後對資料的合拼

[javascript] view plain copy 在CODE上檢視程式碼片派生到我的程式碼片
  1. $.extend(param, proRuestl_1,proRuestl_2,proRuestl_3);  


最後用ajax提交

[javascript] view plain copy 在CODE上檢視程式碼片派生到我的程式碼片
  1. $.ajax({  
  2.     type: "POST",  
  3.     async: false,  
  4.     url: 'XXXX',  
  5.     data: param,  
  6.     dataType: "json",  
  7.     success  :  })  


這樣不單可以提交多個表單的引數,還可以防止亂碼的出現!