Jquery ajax 表單.serialize() 和serializeArray()序列化$.param()

來源:互聯網
上載者:User

標籤:按鈕   log   支援   dep   單元素   array   turn   類型   sel   

.serialize() 方法建立以標準 URL 編碼錶示的文本字串。它的操作對象是代表表單元素集合的 jQuery 對象。

表單元素有幾種類型:

<form>  <div><input type="text" name="a" value="1" id="a" /></div>  <div><input type="text" name="b" value="2" id="b" /></div>  <div><input type="hidden" name="c" value="3" id="c" /></div>  <div>    <textarea name="d" rows="8" cols="40">4</textarea>  </div>  <div><select name="e">    <option value="5" selected="selected">5</option>    <option value="6">6</option>    <option value="7">7</option>  </select></div>  <div>    <input type="checkbox" name="f" value="8" id="f" />  </div>  <div>    <input type="submit" name="g" value="Submit" id="g" />  </div></form>

.serialize() 方法可以操作已選取個別表單元素的 jQuery 對象,比如 <input>, <textarea> 以及 <select>。不過,選擇 <form> 標籤本身進行序列化一般更容易些:

$(‘form‘).submit(function() {  alert($(this).serialize());  return false;    //不阻止預設行為就會發送資料重新整理頁面
});

輸出標準的查詢字串:

a=1&b=2&c=3&d=4&e=5

注釋:只會將”成功的控制項“序列化為字串。如果不使用按鈕來提交表單,則不對提交按鈕的值序列化。如果要表單元素的值包含到序列字串中,元素必須使用 name 屬性。

 

//serializeArray()

$("form").submit(function() {  console.log($(this).serializeArray());  return false;});

上面的代碼產生下面的資料結構(假設瀏覽器支援 console.log):

[  {    name: a    value: 1  },  {    name: b    value: 2  },  {    name: c    value: 3  },  {    name: d    value: 4  },  {    name: e    value: 5  }]
var v11 = $.param( { name:"CodePlayer", age:18 } ); // "name=CodePlayer&age=18"

var array = [
    { name: "name", value: "張三" },
    { name: "age", value: 18, extra: "忽略該屬性" },
    { name: "grade" }, // 沒有value屬性,則value值為undefined,將被轉為空白字串""
    { name: "orderId", value: 2 },
    { name: "orderId", value: 3 },
];
var v12 = $.param( array ); // "name=%E5%BC%A0%E4%B8%89&age=18&grade=&orderId=2&orderId=3"

Jquery ajax 表單.serialize() 和serializeArray()序列化$.param()

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.