jQuery.serialize() 函數詳解////////////z

 

serialize()函數用於序列化一組表單元素,將表單內容編碼爲用於提交的字符串html

serialize()函數經常使用於將表單內容序列化,以便用於AJAX提交。函數

該函數主要根據用於提交有效表單控件的name和value,將它們拼接爲一個可直接用於表單提交的文本字符串,該字符串已通過標準的URL編碼處理(字符集編碼爲UTF-8)。post

該函數不會序列化不須要提交的表單控件,這和常規的表單提交行爲是一致的。例如:不在<form>標籤內的表單控件不會被提交、沒有name屬性的表單控件不會被提交、帶有disabled屬性的表單控件不會被提交、沒有被選中的表單控件不會被提交。ui

與常規表單提交不同的是:常規表單通常會提交帶有name的按鈕控件,而serialize()函數不會序列化帶有name的按鈕控件。更多詳情請點擊這裏編碼

該函數屬於jQuery對象(實例)。spa

語法

jQuery 1.0 新增該函數。code

jQueryObject.serialize( )

返回值

serialize()函數的返回值爲String類型,返回將表單元素編碼後的可用於表單提交的文本字符串。orm

示例&說明

請參考下面這段初始HTML代碼:htm

<form name="myForm" action="http://www.365mini.com" method="post">
    <input name="uid" type="hidden" value="1" />
    <input name="username" type="text" value="張三" />
    <input name="password" type="text" value="123456" />
    <select name="grade" id="grade">
        <option value="1">一年級</option>
        <option value="2">二年級</option>
        <option value="3" selected="selected">三年級</option>
        <option value="4">四年級</option>
        <option value="5">五年級</option>
        <option value="6">六年級</option>
    </select>
    <input name="sex" type="radio" checked="checked" value="1" />
    <input name="sex" type="radio" value="0" />
    <input name="hobby" type="checkbox" checked="checked" value="1" />游泳
    <input name="hobby" type="checkbox" checked="checked" value="2" />跑步    <input name="hobby" type="checkbox" value="3" />羽毛球    <input name="btn" id="btn" type="button" value="點擊" /></form>

對<form>元素進行序列化能夠直接序列化其內部的全部表單元素。對象

// 序列化<form>內的全部表單元素
// 序列化後的結果: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提交成功!" );      
    } );
       
} );
相關文章
相關標籤/搜索