2013-07-24 17 views
-1

伊夫使用jquery序列化的一種形式:從jquery的序列化的字符串填充

$(document).on("click", "#btnsubmit", function() { 
$.ajax({ 
    url: "/Home/RiskScore", 
    type: "post", 
    data: $("form").serialize(), 
    success: function (result) { 
     $('.content-wrap').html(result); 
    } 
}); 

});

我想反序列化並填充下一頁上的表單。我怎樣才能做到這一點?

+2

什麼下一個頁面,它使用Ajax提交? – adeneo

+0

這是一個html.beginform,它帶有一個ID爲「btnsubmit」的按鈕 –

回答

0

jquery.unserialize.js

/** 
* $.unserialize 
* 
* Takes a string in format "param1=value1&param2=value2" and returns an object { param1: 'value1', param2: 'value2' }. If the "param1" ends with "[]" the param is treated as an array. 
* 
* Example: 
* 
* Input: param1=value1&param2=value2 
* Return: { param1 : value1, param2: value2 } 
* 
* Input: param1[]=value1&param1[]=value2 
* Return: { param1: [ value1, value2 ] } 
* 
* @todo Support params like "param1[name]=value1" (should return { param1: { name: value1 } }) 
*/ 
(function($){ 
    $.unserialize = function(serializedString){ 
     var str = decodeURI(serializedString); 
     var pairs = str.split('&'); 
     var obj = {}, p, idx, val; 
     for (var i=0, n=pairs.length; i < n; i++) { 
      p = pairs[i].split('='); 
      idx = p[0]; 

      if (idx.indexOf("[]") == (idx.length - 2)) { 
       // Eh um vetor 
       var ind = idx.substring(0, idx.length-2) 
       if (obj[ind] === undefined) { 
        obj[ind] = []; 
       } 
       obj[ind].push(p[1]); 
      } 
      else { 
       obj[idx] = p[1]; 
      } 
     } 
     return obj; 
    }; 
})(jQuery); 

https://gist.github.com/rcmachado/242617

+0

它如何填充我的其他表單? –