1.
1)
2)
a)
b)
鍵名 |
描述 |
type |
(默認爲表單的method屬性值,若未設置取GET) 請求的類型,例如:POST、GET、PUT及PROPFIND。大小寫不敏感。 |
url |
(默認取表單的action屬性值,若未設置默認取window.location.href) 請求的URL地址,可以爲絕對地址也可以爲相對地址。 |
data |
(對象成員必須包含name和value屬性)提供額外數據對象,通過$.param()函數返回序列化後的字符串,稍後會拼接到表單元素序列化的字符串之後。 |
extraData |
(此參數無需外部提供,由內部處理) 此參數是data在進行序列化成字符串之前的一個拷貝,只用於在表單包含並且是老瀏覽器。 因爲在老瀏覽器中文件上傳文件我們需要通過來模擬異步提交,此時extraData會轉變爲元素包含在表單中,被一起提交到服務器。 |
dataType |
一般不需自己設置。參數作用請看:《jQuery.ajax()-dataType》 |
traditional |
如果你想要用傳統的方式來序列化數據,那麼就設置爲true。請參考$.param()深度遞歸詳解。 |
delegation |
(適用於ajaxForm)ajaxForm支持Jquery插件的委託方式(需要Jquery v1.7+),所以當你調用ajaxForm的時候其表單form不一定存在,但動態構建的form會在適當的時候調用ajaxSubmit。Eg: $('#myForm').ajaxForm({ delegation: true, target: '#output' }); |
replaceTarget |
(默認:false)與target參數共同起作用,True則執行replaceWirh()函數,false則執行html()函數 |
target |
提供一個Html元素,在請求“成功”並且未設置dataType參數,則將返回的數據replaceWith()或html()掉對象原來的內容,再遍歷對象調用success回調函數。 if (!options.dataType && options.target) { var oldSuccess = options.success || function(){}; callbacks.push(function(data) { var fn = options.replaceTarget ? 'replaceWith' : 'html'; $(options.target)[fn](data).each(oldSuccess, arguments); }); } |
includeHidden |
在請求成功後,若設置執行clearForm()函數清空表單元素則會根據includeHidden設置決定如何清空隱藏域元素。
1)
2) |
clearForm |
請求成功時觸發(同success),並用options. includeHidden做爲回調函數參數。 回調函數:$form.clearForm(options.includeHidden); |
resetForm |
請求成功時觸發(同success)。 回調函數:$form.resetForm() |
semantic |
布爾值,指示表單元素序列化時是否嚴格按照表單元素定義順序。 在序列化只有元素會放在序列化字符串的最後,若semantic=true,則會按照它的定義順序進行序列化。 若你服務器嚴格要求表單序列化字符串的順序,則使用此參數進行控制。 |
iframe |
(默認:false)若有文件上傳'input[type=file]:enabled[value!=""]',指示是否應該使用標籤(在支持html5文件上傳新特性的瀏覽器中不會使用iframe模式) |
iframeTarget |
指定一個現有的元素,否則將自動生成一個元素以及name屬性值。若現有的元素沒有設置name屬性,則會自動生成一個name值 |
iframeSrc |
爲元素設定src屬性值 |
回調函數 |
|
beforeSerialize |
提供在將表單元素序列化爲字符串之前,處理表單元素的回調函數。 簽名:function(form,options) 函數說明:當前表單對象、options參數集合 返回值:返回false,表示終止表單提交操作。 |
beforeSubmit |
提供在執行表單提交之前,處理數據的回調函數。 簽名:function(a,form,options) 函數說明:通過formToArray(options.semantic, elements)返回的表單元素數組、當前表單對象、options參數集合 返回值:返回false,表示終止表單提交操作。 |
3)
4)
5)
ajaxSubmit函數處理流程:
1)
2)
3)
4)
5)
6)
7)
8)
9)
a)
b)
c)
10)
11)
2.
是對$(“any”).ajaxSubmit(options)函數的一個封裝,適用於表單提交的方式(注意,主體對象是
),會幫你管理表單的submit和提交元素([type=submit],[type=image])的click事件。在出發表單的submit事件時:阻止submit()事件的默認行爲(同步提交的行爲)並且調用$(this).ajaxSubmit(options)函數。ajaxForm支持Jquery插件的委託方式(需要Jquery v1.7+)
增加所有需要的事件監聽函數,爲AJAX提交表單做好準備。ajaxForm不能提交表單。在document的ready函數中,使用 ajaxForm來爲AJAX提交表單進行準備。ajaxForm接受0個或1個參數。這個單個的參數既可以是一個回調函數,也可以是一個Options 對象。
是否可鏈接(Chainable):可以。
實例:
1 |
$( '#myFormId' ).ajaxForm(); |
ajaxSubmit()
馬上由AJAX來提交表單。大多數情況下,都是調用ajaxSubmit來對用戶提交表單進行響應。ajaxSubmit接受0個或1個參數。這個單個的參數既可以是一個回調函數,也可以是一個Options對象。
是否可鏈接(Chainable):可以。
實例:
1 |
//綁定表單提交事件處理器 |
2 |
$( '#myFormId' ).submit( function ()
{ |
3 |
//
提交表單 |
4 |
$( this ).ajaxSubmit(); |
5 |
//
爲了防止普通瀏覽器進行表單提交和產生頁面導航(防止默認提交)返回false |
6 |
return false ; |
7 |
}); |