表單序列化:
方法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:""}