Jquery提交表單 Form.js官方插件介紹
更新時間:2012年03月01日 22:13:22 作者:
我正在研究JQuery框架,其下的插件十分豐富,使用十分簡單,功能也十分強大
先說說常用的Form插件,支持Ajax,支持Ajax文件上傳,功能強大,基本滿足日常應用。
1、最新JQuery框架軟件包下載
jquery.js壓縮包
jquery.js非壓縮包
2、Form插件下載
form.js
3、Form插件的簡單入門
第一步:先增加一個表單
代碼:
<form id="myForm" action="comment.php" method="post">
Name: <input type="text" name="name" />
Comment: <textarea name="comment"></textarea>
<input type="submit" value="Submit Comment" />
</form>
第二步:jquery.js和form.js文件的包含
代碼:
<head>
<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript" src="path/to/form.js"></script>
<script type="text/javascript">
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
</script>
</head>
3、Form插件的詳細使用方法及應用實例
http://www.malsup.com/jquery/form/
============================
該插件的作者在介紹form.js時,說了這樣的一句話:
引用:
Submitting a form with AJAX doesn't get any easier than this!
意思是說,用Ajax來提交表單,你不可能找到比這個更容易的了。呵呵——,是否吹水,大家用過了就知道了。
表單插件API
英文原文:http://www.malsup.com/jquery/form/#api
表單插件API提供了幾個方法,讓你輕松管理表單數(shù)據和進行表單提交。
ajaxForm
增加所有需要的事件監(jiān)聽器,為AJAX提交表單做好準備。ajaxForm不能提交表單。在document的ready函數(shù)中,使用ajaxForm來 為AJAX提交表單進行準備。ajaxForm接受0個或1個參數(shù)。這個單個的參數(shù)既可以是一個回調函數(shù),也可以是一個Options對象。
可鏈接(Chainable):可以。
實例:
代碼:
$('#myFormId').ajaxForm();
ajaxSubmit
馬上由AJAX來提交表單。大多數(shù)情況下,都是調用ajaxSubmit來對用戶提交表單進行響應。ajaxSubmit接受0個或1個參數(shù)。這個單個的參數(shù)既可以是一個回調函數(shù),也可以是一個Options對象。
可鏈接(Chainable):可以。
實例:
代碼:
// 綁定表單提交事件處理器
$('#myFormId').submit(function() {
// 提交表單
$(this).ajaxSubmit();
// 為了防止普通瀏覽器進行表單提交和產生頁面導航(防止頁面刷新?)返回false
return false;
});
formSerialize
將表單串行化(或序列化)成一個查詢字符串。這個方法將返回以下格式的字符串:name1=value1&name2=value2。
可鏈接(Chainable):不能, 這個方法返回一個字符串。
實例:
代碼:
var queryString = $('#myFormId').formSerialize();
// 現(xiàn)在可以使用$.get、$.post、$.ajax等來提交數(shù)據
$.post('myscript.php', queryString);
fieldSerialize
將表單的字段元素串行化(或序列化)成一個查詢字符串。當只有部分表單字段需要進行串行化(或序列化)時,這個就方便了。這個方法將返回以下格式的字符串:name1=value1&name2=value2。
可鏈接(Chainable):不能,這個方法返回一個字符串。
實例:
代碼:
var queryString = $('#myFormId .specialFields').fieldSerialize();
fieldValue
返回匹配插入數(shù)組中的表單元素值。從0.91版起,該方法將總是以數(shù)組的形式返回數(shù)據。如果元素值被判定可能無效,則數(shù)組為空,否則它將包含一個或多于一個的元素值。
可鏈接(Chainable):不能,該方法返回數(shù)組。
實例:
代碼:
// 取得密碼輸入值
var value = $('#myFormId :password').fieldValue();
alert('The password is: ' + value[0]);
resetForm
通過調用表單元素原有的DOM方法,將表單恢復到初始狀態(tài)。
可鏈接(Chainable):可以。
實例:
代碼:
$('#myFormId').resetForm();
clearForm
清除表單元素。該方法將所有的文本(text)輸入字段、密碼(password)輸入字段和文本區(qū)域(textarea)字段置空,清除任何select元素中的選定,以及將所有的單選(radio)按鈕和多選(checkbox)按鈕重置為非選定狀態(tài)。
可鏈接(Chainable):可以。
代碼:
$('#myFormId').clearForm();
clearFields
清除字段元素。只有部分表單元素需要清除時才方便使用。
可鏈接(Chainable):可以。
代碼:
$('#myFormId .specialFields').clearFields();
Options對象
ajaxForm和ajaxSubmit都支持眾多的選項參數(shù),這些選項參數(shù)可以使用一個Options對象來提供。Options只是一個JavaScript對象,它包含了如下一些屬性與值的集合:
target
指明頁面中由服務器響應進行更新的元素。元素的值可能被指定為一個jQuery選擇器字符串,一個jQuery對象,或者一個DOM元素。
默認值:null。
url
指定提交表單數(shù)據的URL。
默認值:表單的action屬性值
type
指定提交表單數(shù)據的方法(method):“GET”或“POST”。
默認值:表單的method屬性值(如果沒有找到默認為“GET”)。
beforeSubmit
表單提交前被調用的回調函數(shù)?!癰eforeSubmit”回調函數(shù)作為一個鉤子(hook),被提供來運行預提交邏輯或者校驗表單數(shù)據。如果 “beforeSubmit”回調函數(shù)返回false,那么表單將不被提交。“beforeSubmit”回調函數(shù)帶三個調用參數(shù):數(shù)組形式的表單數(shù) 據,jQuery表單對象,以及傳入ajaxForm/ajaxSubmit中的Options對象。表單數(shù)組接受以下方式的數(shù)據:
代碼:
[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
默認值:null
success
表單成功提交后調用的回調函數(shù)。如果提供“success”回調函數(shù),當從服務器返回響應后它被調用。然后由dataType選項值決定傳回responseText還是responseXML的值。
默認值:null
dataType
期望返回的數(shù)據類型。null、“xml”、“script”或者“json”其中之一。dataType提供一種方法,它規(guī)定了怎樣處理服務器的響應。這個被直接地反映到jQuery.httpData方法中去。下面的值被支持:
'xml':如果dataType == 'xml',將把服務器響應作為XML來對待。同時,如果“success”回調方法被指定, 將傳回responseXML值。
'json':如果dataType == 'json', 服務器響應將被求值,并傳遞到“success”回調方法,如果它被指定的話。
'script':如果dataType == 'script', 服務器響應將求值成純文本。
(譯注:上面一些地方鬼佬說的不清不楚,只好意譯了,希望能夠表達原意。)
默認值:null(服務器返回responseText值)
semantic
Boolean flag indicating whether data must be submitted in strict semantic order (slower). Note that the normal form serialization is done in semantic order with the exception of input elements of type="image". You should only set the semantic option to true if your server has strict semantic requirements and your form contains an input element of type="image".
布爾標志,表示數(shù)據是否必須嚴格按照語義順序(slower?)來進行提交。注意:一般來說,表單已經按照語義順序來進行了串行化(或序列化),除了 type="image"的input元素。如果你的服務器有嚴格的語義要求,以及表單中包含有一個type="image"的input元素,就應該將 semantic設置為true。(譯注:這一段由于無法理解,翻譯出來可能語不達意,但請達人指正。)
默認值:false
resetForm
布爾標志,表示如果表單提交成功是否進行重置。
Default value: null
clearForm
布爾標志,表示如果表單提交成功是否清除表單數(shù)據。
默認值:null
實例:
代碼:
[/code]
// 準備好Options對象
var options = {
target: '#divToUpdate',
url: 'comment.php',
success: function() {
alert('Thanks for your comment!');
} };
// 將options傳給ajaxForm
$('#myForm').ajaxForm(options);
[/code]
注意:Options對象還可以用來將值傳遞給jQuery的$.ajax方法。如果你熟悉$.ajax所支持的options,你可以利用它們來將Options對象傳遞給ajaxForm和ajaxSubmit。
1、最新JQuery框架軟件包下載
jquery.js壓縮包
jquery.js非壓縮包
2、Form插件下載
form.js
3、Form插件的簡單入門
第一步:先增加一個表單
代碼:
復制代碼 代碼如下:
<form id="myForm" action="comment.php" method="post">
Name: <input type="text" name="name" />
Comment: <textarea name="comment"></textarea>
<input type="submit" value="Submit Comment" />
</form>
第二步:jquery.js和form.js文件的包含
代碼:
復制代碼 代碼如下:
<head>
<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript" src="path/to/form.js"></script>
<script type="text/javascript">
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
</script>
</head>
3、Form插件的詳細使用方法及應用實例
http://www.malsup.com/jquery/form/
============================
該插件的作者在介紹form.js時,說了這樣的一句話:
引用:
Submitting a form with AJAX doesn't get any easier than this!
意思是說,用Ajax來提交表單,你不可能找到比這個更容易的了。呵呵——,是否吹水,大家用過了就知道了。
表單插件API
英文原文:http://www.malsup.com/jquery/form/#api
表單插件API提供了幾個方法,讓你輕松管理表單數(shù)據和進行表單提交。
ajaxForm
增加所有需要的事件監(jiān)聽器,為AJAX提交表單做好準備。ajaxForm不能提交表單。在document的ready函數(shù)中,使用ajaxForm來 為AJAX提交表單進行準備。ajaxForm接受0個或1個參數(shù)。這個單個的參數(shù)既可以是一個回調函數(shù),也可以是一個Options對象。
可鏈接(Chainable):可以。
實例:
代碼:
復制代碼 代碼如下:
$('#myFormId').ajaxForm();
ajaxSubmit
馬上由AJAX來提交表單。大多數(shù)情況下,都是調用ajaxSubmit來對用戶提交表單進行響應。ajaxSubmit接受0個或1個參數(shù)。這個單個的參數(shù)既可以是一個回調函數(shù),也可以是一個Options對象。
可鏈接(Chainable):可以。
實例:
代碼:
復制代碼 代碼如下:
// 綁定表單提交事件處理器
$('#myFormId').submit(function() {
// 提交表單
$(this).ajaxSubmit();
// 為了防止普通瀏覽器進行表單提交和產生頁面導航(防止頁面刷新?)返回false
return false;
});
formSerialize
將表單串行化(或序列化)成一個查詢字符串。這個方法將返回以下格式的字符串:name1=value1&name2=value2。
可鏈接(Chainable):不能, 這個方法返回一個字符串。
實例:
代碼:
復制代碼 代碼如下:
var queryString = $('#myFormId').formSerialize();
// 現(xiàn)在可以使用$.get、$.post、$.ajax等來提交數(shù)據
$.post('myscript.php', queryString);
fieldSerialize
將表單的字段元素串行化(或序列化)成一個查詢字符串。當只有部分表單字段需要進行串行化(或序列化)時,這個就方便了。這個方法將返回以下格式的字符串:name1=value1&name2=value2。
可鏈接(Chainable):不能,這個方法返回一個字符串。
實例:
代碼:
var queryString = $('#myFormId .specialFields').fieldSerialize();
fieldValue
返回匹配插入數(shù)組中的表單元素值。從0.91版起,該方法將總是以數(shù)組的形式返回數(shù)據。如果元素值被判定可能無效,則數(shù)組為空,否則它將包含一個或多于一個的元素值。
可鏈接(Chainable):不能,該方法返回數(shù)組。
實例:
代碼:
復制代碼 代碼如下:
// 取得密碼輸入值
var value = $('#myFormId :password').fieldValue();
alert('The password is: ' + value[0]);
resetForm
通過調用表單元素原有的DOM方法,將表單恢復到初始狀態(tài)。
可鏈接(Chainable):可以。
實例:
代碼:
$('#myFormId').resetForm();
clearForm
清除表單元素。該方法將所有的文本(text)輸入字段、密碼(password)輸入字段和文本區(qū)域(textarea)字段置空,清除任何select元素中的選定,以及將所有的單選(radio)按鈕和多選(checkbox)按鈕重置為非選定狀態(tài)。
可鏈接(Chainable):可以。
代碼:
$('#myFormId').clearForm();
clearFields
清除字段元素。只有部分表單元素需要清除時才方便使用。
可鏈接(Chainable):可以。
代碼:
$('#myFormId .specialFields').clearFields();
Options對象
ajaxForm和ajaxSubmit都支持眾多的選項參數(shù),這些選項參數(shù)可以使用一個Options對象來提供。Options只是一個JavaScript對象,它包含了如下一些屬性與值的集合:
target
指明頁面中由服務器響應進行更新的元素。元素的值可能被指定為一個jQuery選擇器字符串,一個jQuery對象,或者一個DOM元素。
默認值:null。
url
指定提交表單數(shù)據的URL。
默認值:表單的action屬性值
type
指定提交表單數(shù)據的方法(method):“GET”或“POST”。
默認值:表單的method屬性值(如果沒有找到默認為“GET”)。
beforeSubmit
表單提交前被調用的回調函數(shù)?!癰eforeSubmit”回調函數(shù)作為一個鉤子(hook),被提供來運行預提交邏輯或者校驗表單數(shù)據。如果 “beforeSubmit”回調函數(shù)返回false,那么表單將不被提交。“beforeSubmit”回調函數(shù)帶三個調用參數(shù):數(shù)組形式的表單數(shù) 據,jQuery表單對象,以及傳入ajaxForm/ajaxSubmit中的Options對象。表單數(shù)組接受以下方式的數(shù)據:
代碼:
[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
默認值:null
success
表單成功提交后調用的回調函數(shù)。如果提供“success”回調函數(shù),當從服務器返回響應后它被調用。然后由dataType選項值決定傳回responseText還是responseXML的值。
默認值:null
dataType
期望返回的數(shù)據類型。null、“xml”、“script”或者“json”其中之一。dataType提供一種方法,它規(guī)定了怎樣處理服務器的響應。這個被直接地反映到jQuery.httpData方法中去。下面的值被支持:
'xml':如果dataType == 'xml',將把服務器響應作為XML來對待。同時,如果“success”回調方法被指定, 將傳回responseXML值。
'json':如果dataType == 'json', 服務器響應將被求值,并傳遞到“success”回調方法,如果它被指定的話。
'script':如果dataType == 'script', 服務器響應將求值成純文本。
(譯注:上面一些地方鬼佬說的不清不楚,只好意譯了,希望能夠表達原意。)
默認值:null(服務器返回responseText值)
semantic
Boolean flag indicating whether data must be submitted in strict semantic order (slower). Note that the normal form serialization is done in semantic order with the exception of input elements of type="image". You should only set the semantic option to true if your server has strict semantic requirements and your form contains an input element of type="image".
布爾標志,表示數(shù)據是否必須嚴格按照語義順序(slower?)來進行提交。注意:一般來說,表單已經按照語義順序來進行了串行化(或序列化),除了 type="image"的input元素。如果你的服務器有嚴格的語義要求,以及表單中包含有一個type="image"的input元素,就應該將 semantic設置為true。(譯注:這一段由于無法理解,翻譯出來可能語不達意,但請達人指正。)
默認值:false
resetForm
布爾標志,表示如果表單提交成功是否進行重置。
Default value: null
clearForm
布爾標志,表示如果表單提交成功是否清除表單數(shù)據。
默認值:null
實例:
代碼:
[/code]
// 準備好Options對象
var options = {
target: '#divToUpdate',
url: 'comment.php',
success: function() {
alert('Thanks for your comment!');
} };
// 將options傳給ajaxForm
$('#myForm').ajaxForm(options);
[/code]
注意:Options對象還可以用來將值傳遞給jQuery的$.ajax方法。如果你熟悉$.ajax所支持的options,你可以利用它們來將Options對象傳遞給ajaxForm和ajaxSubmit。
您可能感興趣的文章:
- jQuery formValidator表單驗證插件開源了 含API幫助、源碼、示例
- jQuery 表單驗證插件formValidation實現(xiàn)個性化錯誤提示
- jquery form表單提交插件asp.net后臺中文解碼
- formStorage 基于jquery的一個插件(存儲表單中元素的狀態(tài)到本地)
- jQuery表單驗證插件formValidator(改進版)
- jquery表單驗證使用插件formValidator
- jquery formValidator插件ajax驗證 內容不做任何修改再離開提示錯誤的bug解決方法
- jquery validate和jquery form 插件組合實現(xiàn)驗證表單后AJAX提交
- jQuery form插件之formDdata參數(shù)校驗表單及驗證后提交
相關文章
通過jquery的$.getJSON做一個跨域ajax請求試驗
jquery提供了$.getJSON的方法,讓我們可以實現(xiàn)跨域ajax請求,但jqueryAPI上的內容實在太少,如何用$.getJSON,請求網站應該返回怎樣的數(shù)據庫才能讓$.getJSON獲取到,下面我就用一個實際例子來說明下。2011-05-05
jQuery Ajax提交表單查詢獲得數(shù)據實例代碼
用戶輸入一個表單,輸入準考證和驗證碼,驗證用戶是否輸入表單,點擊查詢提交,然后從服務器得到返回的數(shù)據并顯示出來2012-09-09
jquery通過擴展select控件實現(xiàn)支持enter或focus選擇的方法
這篇文章主要介紹了jquery通過擴展select控件實現(xiàn)支持enter或focus選擇的方法,通過jQuery針對select空間增加enter及focus選擇功能分析了jQuery擴展的相關實現(xiàn)技巧,需要的朋友可以參考下2015-11-11
jQuery向上遍歷DOM樹之parents(),parent(),closest()之間的區(qū)別
這篇文章主要是對jQuery向上遍歷DOM樹之parents(),parent(),closest()之間的區(qū)別進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
jQuery實現(xiàn)Meizu魅族官方網站的導航菜單效果
這篇文章主要介紹了jQuery實現(xiàn)Meizu魅族官方網站的導航菜單效果,可實現(xiàn)導航菜單項鼠標滑過出現(xiàn)下劃線動態(tài)跟隨的功能,通過jQuery插件實現(xiàn)該功能,需要的朋友可以參考下2015-09-09
jQuery實現(xiàn)每隔一段時間自動更換樣式的方法分析
這篇文章主要介紹了jQuery實現(xiàn)每隔一段時間自動更換樣式的方法,結合實例形式較為詳細的分析了jQuery結合時間函數(shù)動態(tài)修改頁面元素屬性相關操作技巧,需要的朋友可以參考下2018-05-05
基于$.ajax()方法從服務器獲取json數(shù)據的幾種方式總結
下面小編就為大家分享一篇基于$.ajax()方法從服務器獲取json數(shù)據的幾種方式總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01

