serialize()函數用於序列化一組表單元素,將表單內容編碼為用於提交的字串。 serialize()函數常用於將表單內容序列化,以便用於AJAX提交。 該函數主要根據用於提交的有效表單控制項的name和value,將它們拼接為一個可直接用於表單提交的文字字串,該字串已經過標準的URL編碼處理(字符集編碼為UTF-8)。 該函數不會序列化不需要提交的表單控件,這和常規的表單提交行為是一致的。例如:不在標籤內的表單控制項不會被提交、沒有name屬性的表單控制項不會被提交、帶有disabled屬性的表單控制項不會被提交、沒有被選取的表單控制項不會被提交。 與常規表單提交不一樣的是:常規表單一般會提交帶有name的按鈕控件,而serialize()函數不會序列化帶有name的按鈕控件。更多詳情請點這裡。 該函數屬於jQuery物件(實例)。 語法 jQuery 1.0 新增此函數。 jQueryObject.serialize( ) 傳回值 serialize()函數的傳回值為String類型,傳回將表單元素編碼後的可用於表單提交的文字字串。 範例&說明 請參考下面這段初始HTML程式碼: 一年级 二年级 三年级 四年级 五年级 六年级 男 女 游泳 跑步 羽毛球 登入後複製對元素進行序列化可以直接序列化其內部的所有表單元素。 // 序列化内的所有表单元素 // 序列化后的结果:uid=1&username=%E5%BC%A0%E4%B8%89&password=123456&grade=3&sex=1&hobby=1&hobby=2 alert( $("form").serialize() ); 我们也可以直接对部分表单元素进行序列化。 // 序列化所有的text、select、checkbox表单元素 // 序列化后的结果:username=%E5%BC%A0%E4%B8%89&password=123456&grade=3&hobby=1&hobby=2 alert( $(":text, select, :checkbox").serialize() ); serialize()函数通常用于将表单内容序列化,以便通过AJAX方式提交。 $("#btn").click( function(){ // 将当前表单内容以POST请求的AJAX方式提交到"http://www.365mini.com" $.post( "http://www.365mini.com", $("form").serialize(), function( data, textStatus, jqXHR ){ alert( "AJAX提交成功!" ); } ); } );登入後複製