首頁 >web前端 >js教程 >比較serializeArray()與serialize()的區別

比較serializeArray()與serialize()的區別

巴扎黑
巴扎黑原創
2017-07-03 13:53:381028瀏覽

  serialize()序列化表單元素為字串,用於 Ajax 要求。

  serializeArray()序列化表單元素為JSON資料。

  具體實例如下:


#
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="application/javascript" src="jquery-1.10.2.js"></script>
<title>serializeArray()与serialize()</title>
<script type="text/javascript">
function onClik(){
    $("#results").html("serializeArray()与serialize()的区别如下:");
    
    var data1 = $("#form1").serializeArray(); //自动将form表单封装成json
    $("#results").append("<br/><b>serializeArray:</b>");
    $.each(data1, function(i, field){
        $("#results").append(field.name+":"+field.value+" ");
    });
    
    $("#results").append("<br/>");
    var data2 = $("#form1").serialize(); //自动将form表单封装成json
    $("#results").append("<b>serialize():</b>"+data2);
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <p>进货人 :
    <label for="name"></label>
    <input type="text" name="name" id="name" />
  </p>
  <p>性别:
    <label for="sex"></label>
    <select name="sex" size="1" id="sex">
      <option value="男">男</option>
      <option value="女">女</option>
    </select>
  </p>
  <table width="708" border="1">
    <tr>
      <td width="185">商品名</td>
      <td width="205">商品数量</td>
      <td width="296">商品价格</td>
    </tr>
    <tr>
      <td><label for="pro_name"></label>
        <input type="text" name="pro_name" id="pro_name" /></td>
      <td><label for="pro_num"></label>
        <input type="text" name="pro_num" id="pro_num" /></td>
      <td><label for="pro_price"></label>
        <input type="text" name="pro_price" id="pro_price" /></td>
    </tr>
    <tr>
      <td><input type="text" name="pro_name2" id="pro_name2" /></td>
      <td><input type="text" name="pro_num2" id="pro_num2" /></td>
      <td><input type="text" name="pro_price2" id="pro_price2" /></td>
    </tr>
  </table>
  <p id="results"></p>
  <input type="button" name="submit" onclick="onClik();" value="提交"/>
</form>
</body>
</html>                                                                      男       女                       商品名       商品数量       商品价格

結果如下:

#  

  備註:file、image、button、submit、reset都不會被序列化

以上是比較serializeArray()與serialize()的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn