jQuery form外掛程式之ajaxForm()和ajaxSubmit()的選擇性參數項對象_jquery

來源:互聯網
上載者:User

Form Plugin API 裡提供了很多有用的方法可以讓你輕鬆的處理表單裡的資料和表單的提交過程。

測試環境:部署到Tomcat中的web項目。

本文示範的是:jQuery form外掛程式之ajaxForm()和ajaxSubmit()的選擇性參數項對象

ajaxForm()和ajaxSubmit()的選擇性參數項對象

ajaxForm 和 ajaxSubmit 都支援大量的選擇性參數,它們通過選擇性參數項對象傳入。選擇性參數項對象只是一個簡單的 JavaScript對象,裡邊包含了一些屬性和一些值:

target

用server端返回的內容更換指定的頁面元素的內容。 這個值可以用jQuery 選取器來表示, 或者是一個jQuery 對象, 一個 DOM 元素。
預設值: null

url

表單提交的地址。
預設值: 表單的action的值

type

表單提交的方式,'GET' 或 'POST'.
預設值: 表單的 method 的值 (如果沒有指明則認為是 'GET')

beforeSubmit

表單提交前執行的方法。這個可以用在表單提交前的預先處理,或表單校正。如果'beforeSubmit'指定的函數返回false,則表單不會被提交。 'beforeSubmit'函數調用時需要3個參數:數組形式的表單資料,jQuery 對象形式的表單對象,可選的用來傳遞給ajaxForm/ajaxSubmit 的對象。

數組形式的表單資料是下面這樣的格式:[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]

預設值: null

success

當表單提交後執行的函數。 如果'success' 回呼函數被指定,當server端返回對錶單提交的響應後,這個方法就會被執行。 responseText 和 responseXML 的值會被傳進這個參數 (這個要依賴於dataType的類型).
預設值: null

dataType

指定伺服器響應返回的資料類型。其中之一: null, 'xml', 'script', 或者 'json'. 這個 dataType 選項用來指示你如何去處理server端返回的資料。 這個和 jQuery.httpData 方法直接相對應。

下面就是可以用的選項:

'xml': 如果 dataType == 'xml' 則 server 端返回的資料被當作是 XML 來處理, 這種情況下'success'指定的回呼函數會被傳進去 responseXML 資料

'json': 如果 dataType == 'json' 則server端返回的資料將會被執行,並傳進'success'回呼函數

'script': 如果 dataType == 'script' 則server端返回的資料將會在內容相關的環境中被執行

預設值: null

semantic

一個布爾值,用來指示表單裡提交的資料的順序是否需要嚴格按照語義的順序。一般表單的資料都是按語義順序序列化的,除非表單裡有一個type="image"元素. 所以只有當表單裡必須要求有嚴格順序並且表單裡有type="image"時才需要指定這個。
預設值: false

resetForm

布爾值,指示表單提交成功後是否需要重設。
預設值: null

clearForm

布爾值,指示表單提交成功後是否需要清空。
預設值: null

iframe

布爾值,用來指示表單是否需要提交到一個iframe裡。 這個用在表單裡有file域要上傳檔案時。更多資訊請參考 程式碼範例 頁面裡的File Uploads 文檔。
預設值: false

一、引入依賴的js

<script src="jquery-1.3.1.js" type="text/javascript"></script><script src="jquery.form.js" type="text/javascript"></script>

網盤下載: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>

三、調用方法

<script type="text/javascript"> $(document).ready(function() { var options = { target: '#output1', // 用伺服器返回的資料 更新 id為output1的內容.beforeSubmit: showRequest, // 提交前success: showResponse, // 提交後 //另外的一些屬性: //url: url // 預設是form的action,如果寫的話,會覆蓋from的action. //type: type // 預設是form的method,如果寫的話,會覆蓋from的method.('get' or 'post').//dataType: null // 'xml', 'script', or 'json' (接受服務端返回的類型.) //clearForm: true // 成功提交後,清除所有的表單元素的值.resetForm: true // 成功提交後,重設所有的表單元素的值.//由於某種原因,提交陷入無限等待之中,timeout參數就是用來限制請求的時間,//當請求大於3秒後,跳出請求. //timeout: 3000 }; //'ajaxForm' 方式的表單 .$('#myForm').ajaxForm(options); //或者 'ajaxSubmit' 方式的提交.//$('#myForm').submit(function() { // $(this).ajaxSubmit(options); // return false; //來阻止瀏覽器提交.//}); }); // 提交前function showRequest(formData, jqForm, options) { // formdata是數組對象,在這裡,我們使用$.param()方法把他轉化為字串.var queryString = $.param(formData); //組裝資料,外掛程式會自動認可資料alert(queryString); //類似 : name=1&add=2 return true; } // 提交後function showResponse(responseText, statusText) { alert('狀態: ' + statusText + '\n 返回的內容是: \n' + responseText); } </script> 

四、詳細代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>jQuery form外掛程式的使用--ajaxForm()和ajaxSubmit()的選擇性參數項對象. </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', // 用伺服器返回的資料 更新 id為output1的內容.beforeSubmit: showRequest, // 提交前success: showResponse, // 提交後 //另外的一些屬性: //url: url // 預設是form的action,如果寫的話,會覆蓋from的action. //type: type // 預設是form的method,如果寫的話,會覆蓋from的method.('get' or 'post').//dataType: null // 'xml', 'script', or 'json' (接受服務端返回的類型.) //clearForm: true // 成功提交後,清除所有的表單元素的值.resetForm: true // 成功提交後,重設所有的表單元素的值.//由於某種原因,提交陷入無限等待之中,timeout參數就是用來限制請求的時間,//當請求大於3秒後,跳出請求. //timeout: 3000 }; //'ajaxForm' 方式的表單 .$('#myForm').ajaxForm(options); //或者 'ajaxSubmit' 方式的提交.//$('#myForm').submit(function() { // $(this).ajaxSubmit(options); // return false; //來阻止瀏覽器提交.//}); }); // 提交前function showRequest(formData, jqForm, options) { // formdata是數組對象,在這裡,我們使用$.param()方法把他轉化為字串.var queryString = $.param(formData); //組裝資料,外掛程式會自動認可資料alert(queryString); //類似 : name=1&add=2 return true; } // 提交後function showResponse(responseText, statusText) { alert('狀態: ' + statusText + '\n 返回的內容是: \n' + responseText); } </script> </head><body><h3> Demo 4 : jQuery form外掛程式的使用--ajaxForm()和ajaxSubmit()的選擇性參數項對象. </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>

建立一個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);%>

五、測試效果:

填寫資料:

提交表單的內容:

從伺服器返回的資料:

以上內容是小編給大家分享的jQuery form外掛程式之ajaxForm()和ajaxSubmit()的選擇性參數項對象的全部敘述,希望本文分享對大家有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.