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ì)大家有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注