1. 程式人生 > >關於表單序列化的三種方法

關於表單序列化的三種方法

put password gate comm symbol 結果 ali head pre

表單序列化:

方法1:serialize(): 就是把表單信息序列化成一個字符串 (認為最常用 的方法)

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("div").text($("form").serialize());
  });
});
</script>
</head>
<body>
<form action="">
First name: <input type="text" name="FirstName" value="Bill" /><br />
Last name: <input type="text" name="LastName" value="Gates" /><br />
</form>

<button>序列化表單值</button>
<div></div>
</body>
</html>

  

最終序列化出的結果就是:FirstName=Bill&LastName=Gates
這樣的一個字符串

方法2:serializeArray()
它返回的是一個json 對象 而不是一個字符串

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    x=$("form").serializeArray();
var x = JSON.stringify(x)
document.write(x)

  });
});
</script>
</head>
<body>
<form action="">
First name: <input type="text" name="FirstName" value="Bill" /><br />
Last name: <input type="text" name="LastName" value="Gates" /><br />
</form>

<button>序列化表單值</button>
<div id="results"></div>
</body>
</html>

這是最後獲取出來的值 [{"name":"FirstName","value":"Bill"},{"name":"LastName","value":"Gates"}]

方法3:是自己自定義的serializeJson()方法:

<form>  
    <input type="text" name="username" />  
    <input type="text" name="password" />  
</form>  

<script>
jQuery.prototype.serializeObject=function(){  
    var obj=new Object();  
    $.each(this.serializeArray(),function(index,param){  
        if(!(param.name in obj)){  
            obj[param.name]=param.value;  
        }  
    });  
    return obj;  
};  
</script>

  

最後執行 得到的結果如下:

jQuery("form").serializeObject(); //{username:"",password:""} 

關於表單序列化的三種方法