jQuery form插件之a(chǎn)jaxForm()和ajaxSubmit()的可選參數(shù)項(xiàng)對(duì)象
Form Plugin API 里提供了很多有用的方法可以讓你輕松的處理表單里的數(shù)據(jù)和表單的提交過程。
測(cè)試環(huán)境:部署到Tomcat中的web項(xiàng)目。
本文演示的是:jQuery form插件之a(chǎn)jaxForm()和ajaxSubmit()的可選參數(shù)項(xiàng)對(duì)象
ajaxForm()和ajaxSubmit()的可選參數(shù)項(xiàng)對(duì)象
ajaxForm 和 ajaxSubmit 都支持大量的可選參數(shù),它們通過可選參數(shù)項(xiàng)對(duì)象傳入。可選參數(shù)項(xiàng)對(duì)象只是一個(gè)簡(jiǎn)單的 JavaScript對(duì)象,里邊包含了一些屬性和一些值:
target
用server端返回的內(nèi)容更換指定的頁面元素的內(nèi)容。 這個(gè)值可以用jQuery 選擇器來表示, 或者是一個(gè)jQuery 對(duì)象, 一個(gè) DOM 元素。
缺省值: null
url
表單提交的地址。
缺省值: 表單的action的值
type
表單提交的方式,'GET' 或 'POST'.
缺省值: 表單的 method 的值 (如果沒有指明則認(rèn)為是 'GET')
beforeSubmit
表單提交前執(zhí)行的方法。這個(gè)可以用在表單提交前的預(yù)處理,或表單校驗(yàn)。如果'beforeSubmit'指定的函數(shù)返回false,則表單不會(huì)被提交。 'beforeSubmit'函數(shù)調(diào)用時(shí)需要3個(gè)參數(shù):數(shù)組形式的表單數(shù)據(jù),jQuery 對(duì)象形式的表單對(duì)象,可選的用來傳遞給ajaxForm/ajaxSubmit 的對(duì)象。
數(shù)組形式的表單數(shù)據(jù)是下面這樣的格式:[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
缺省值: null
success
當(dāng)表單提交后執(zhí)行的函數(shù)。 如果'success' 回調(diào)函數(shù)被指定,當(dāng)server端返回對(duì)表單提交的響應(yīng)后,這個(gè)方法就會(huì)被執(zhí)行。 responseText 和 responseXML 的值會(huì)被傳進(jìn)這個(gè)參數(shù) (這個(gè)要依賴于dataType的類型).
缺省值: null
dataType
指定服務(wù)器響應(yīng)返回的數(shù)據(jù)類型。其中之一: null, 'xml', 'script', 或者 'json'. 這個(gè) dataType 選項(xiàng)用來指示你如何去處理server端返回的數(shù)據(jù)。 這個(gè)和 jQuery.httpData 方法直接相對(duì)應(yīng)。
下面就是可以用的選項(xiàng):
'xml': 如果 dataType == 'xml' 則 server 端返回的數(shù)據(jù)被當(dāng)作是 XML 來處理, 這種情況下'success'指定的回調(diào)函數(shù)會(huì)被傳進(jìn)去 responseXML 數(shù)據(jù)
'json': 如果 dataType == 'json' 則server端返回的數(shù)據(jù)將會(huì)被執(zhí)行,并傳進(jìn)'success'回調(diào)函數(shù)
'script': 如果 dataType == 'script' 則server端返回的數(shù)據(jù)將會(huì)在上下文的環(huán)境中被執(zhí)行
缺省值: null
semantic
一個(gè)布爾值,用來指示表單里提交的數(shù)據(jù)的順序是否需要嚴(yán)格按照語義的順序。一般表單的數(shù)據(jù)都是按語義順序序列化的,除非表單里有一個(gè)type="image"元素. 所以只有當(dāng)表單里必須要求有嚴(yán)格順序并且表單里有type="image"時(shí)才需要指定這個(gè)。
缺省值: false
resetForm
布爾值,指示表單提交成功后是否需要重置。
缺省值: null
clearForm
布爾值,指示表單提交成功后是否需要清空。
缺省值: null
iframe
布爾值,用來指示表單是否需要提交到一個(gè)iframe里。 這個(gè)用在表單里有file域要上傳文件時(shí)。更多信息請(qǐng)參考 代碼示例 頁面里的File Uploads 文檔。
缺省值: false
一、引入依賴的js
<script src="jquery-1.3.1.js" type="text/javascript"></script> <script src="jquery.form.js" type="text/javascript"></script>
網(wǎng)盤下載:https://yunpan.cn/crjzfmXqaTu9e 訪問密碼 e3bc
二、編寫頁面
<!-- demo1 --> <form id="myForm" action="ajax2.jsp" method="post"> 名稱: <input type="text" name="name" /> <br/> 地址: <input type="text" name="address" /><br/> 自我介紹: <textarea name="comment"></textarea> <br/> <input type="submit" id="test" value="提交" /> <br/> <div id="output1" ></div> </form>
三、調(diào)用方法
<script type="text/javascript"> $(document).ready(function() { var options = { target: '#output1', // 用服務(wù)器返回的數(shù)據(jù) 更新 id為output1的內(nèi)容. beforeSubmit: showRequest, // 提交前 success: showResponse, // 提交后 //另外的一些屬性: //url: url // 默認(rèn)是form的action,如果寫的話,會(huì)覆蓋from的action. //type: type // 默認(rèn)是form的method,如果寫的話,會(huì)覆蓋from的method.('get' or 'post'). //dataType: null // 'xml', 'script', or 'json' (接受服務(wù)端返回的類型.) //clearForm: true // 成功提交后,清除所有的表單元素的值. resetForm: true // 成功提交后,重置所有的表單元素的值. //由于某種原因,提交陷入無限等待之中,timeout參數(shù)就是用來限制請(qǐng)求的時(shí)間, //當(dāng)請(qǐng)求大于3秒后,跳出請(qǐng)求. //timeout: 3000 }; //'ajaxForm' 方式的表單 . $('#myForm').ajaxForm(options); //或者 'ajaxSubmit' 方式的提交. //$('#myForm').submit(function() { // $(this).ajaxSubmit(options); // return false; //來阻止瀏覽器提交. //}); }); // 提交前 function showRequest(formData, jqForm, options) { // formdata是數(shù)組對(duì)象,在這里,我們使用$.param()方法把他轉(zhuǎn)化為字符串. var queryString = $.param(formData); //組裝數(shù)據(jù),插件會(huì)自動(dòng)提交數(shù)據(jù) alert(queryString); //類似 : name=1&add=2 return true; } // 提交后 function showResponse(responseText, statusText) { alert('狀態(tài): ' + statusText + '\n 返回的內(nèi)容是: \n' + responseText); } </script>
四、詳細(xì)代碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可選參數(shù)項(xiàng)對(duì)象. </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script src="jquery-1.3.1.js" type="text/javascript"></script> <script src="jquery.form.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { var options = { target: '#output1', // 用服務(wù)器返回的數(shù)據(jù) 更新 id為output1的內(nèi)容. beforeSubmit: showRequest, // 提交前 success: showResponse, // 提交后 //另外的一些屬性: //url: url // 默認(rèn)是form的action,如果寫的話,會(huì)覆蓋from的action. //type: type // 默認(rèn)是form的method,如果寫的話,會(huì)覆蓋from的method.('get' or 'post'). //dataType: null // 'xml', 'script', or 'json' (接受服務(wù)端返回的類型.) //clearForm: true // 成功提交后,清除所有的表單元素的值. resetForm: true // 成功提交后,重置所有的表單元素的值. //由于某種原因,提交陷入無限等待之中,timeout參數(shù)就是用來限制請(qǐng)求的時(shí)間, //當(dāng)請(qǐng)求大于3秒后,跳出請(qǐng)求. //timeout: 3000 }; //'ajaxForm' 方式的表單 . $('#myForm').ajaxForm(options); //或者 'ajaxSubmit' 方式的提交. //$('#myForm').submit(function() { // $(this).ajaxSubmit(options); // return false; //來阻止瀏覽器提交. //}); }); // 提交前 function showRequest(formData, jqForm, options) { // formdata是數(shù)組對(duì)象,在這里,我們使用$.param()方法把他轉(zhuǎn)化為字符串. var queryString = $.param(formData); //組裝數(shù)據(jù),插件會(huì)自動(dòng)提交數(shù)據(jù) alert(queryString); //類似 : name=1&add=2 return true; } // 提交后 function showResponse(responseText, statusText) { alert('狀態(tài): ' + statusText + '\n 返回的內(nèi)容是: \n' + responseText); } </script> </head> <body> <h3> Demo 4 : jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可選參數(shù)項(xiàng)對(duì)象. </h3> <!-- demo1 --> <form id="myForm" action="ajax2.jsp" method="post"> 名稱: <input type="text" name="name" /> <br/> 地址: <input type="text" name="address" /><br/> 自我介紹: <textarea name="comment"></textarea> <br/> <input type="submit" id="test" value="提交" /> <br/> <div id="output1" ></div> </form> </body> </html>
新建一個(gè)ajax2.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("UTF-8");//防止亂碼! String name = request.getParameter("name"); String address = request.getParameter("address"); String comment = request.getParameter("comment"); System.out.println(name + " - " +address + " - " +comment); out.println(name + " " +address + " " +comment); %>
五、測(cè)試效果:
填寫數(shù)據(jù):
提交表單的內(nèi)容:
從服務(wù)器返回的數(shù)據(jù):
以上內(nèi)容是小編給大家分享的jQuery form插件之a(chǎn)jaxForm()和ajaxSubmit()的可選參數(shù)項(xiàng)對(duì)象的全部敘述,希望本文分享對(duì)大家有所幫助。
相關(guān)文章
jQuery對(duì)象的length屬性用法實(shí)例
這篇文章主要介紹了jQuery對(duì)象的length屬性用法,實(shí)例分析了length屬性獲取集合中對(duì)象數(shù)目的使用技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12jquery中object對(duì)象循環(huán)遍歷的方法
這篇文章主要介紹了jquery中object對(duì)象循環(huán)遍歷的方法,感興趣的小伙伴們可以參考一下2015-12-12CSS+jQuery實(shí)現(xiàn)簡(jiǎn)單的折疊菜單
這篇文章主要介紹了CSS+jQuery實(shí)現(xiàn)簡(jiǎn)單的折疊菜單的代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2016-12-12JQUERY 獲取IFrame中對(duì)象及獲取其父窗口中對(duì)象示例
經(jīng)常會(huì)用到iframe,難免會(huì)碰到需要在父窗口中使用iframe中的元素、或者在iframe框架中使用父窗口的元素,下面為大家簡(jiǎn)單介紹下本人的使用心得2013-08-08jQuery實(shí)現(xiàn)網(wǎng)頁頂部固定導(dǎo)航效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)網(wǎng)頁頂部固定導(dǎo)航效果代碼,涉及jQuery響應(yīng)scroll事件動(dòng)態(tài)操作頁面元素樣式的相關(guān)技巧,需要的朋友可以參考下2015-12-12

如何從jQuery的ajax請(qǐng)求中刪除X-Requested-With

基于jQuery實(shí)現(xiàn)點(diǎn)擊列表加載更多效果

詳解Jquery Easyui的驗(yàn)證擴(kuò)展

jQuery Timelinr實(shí)現(xiàn)垂直水平時(shí)間軸插件(附源碼下載)