jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可選參數項對象

来源:http://www.cnblogs.com/liuhongfeng/archive/2016/01/22/5150389.html
-Advertisement-
Play Games

Form Plugin API 里提供了很多有用的方法可以讓你輕鬆的處理表單里的數據和表單的提交過程。測試環境:部署到Tomcat中的web項目。本文演示的是:jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可選參數項對象ajaxForm()和ajaxSubmit...


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);
%>

 

 

五、測試效果:

 

填寫數據:

 

 提交表單的內容:

 

 從伺服器返回的數據:

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • <h2 CSS 偽類 (Pseudo classes) 實例</h2 <h3 CSS 實例</h3 CSS 背景實例 CSS 文本實例 CSS 字體(font)實例 CSS 邊框(border)實例 CSS 外邊距 (margin) 實例 CSS 內邊距 (padding) 實例 CSS 列表實例....
  • 一.highcharts簡介以及引入 highcharts作為免費提供給個人學習、個人網站和非商業用途使用的前端圖表演示插件的確使用起來十分方便和輕便。在我最近完成一個需求的時候用到了它, 它的相容性也很強,其在標準(W3C標準)瀏覽器中使用SVG技術渲染圖形,在遺留的IE瀏覽器中使用VML技術來....
  • Form Plugin API 里提供了很多有用的方法可以讓你輕鬆的處理表單里的數據和表單的提交過程。測試環境:部署到Tomcat中的web項目。一、引入依賴js 二、初始化回調函數。首先,我們初始化這個表單,給它一個beforeSubmit回調函數 - 這是一個用來校驗的函數。$(docum...
  • JS中處理相容的方式總結:1、使用try、catch來處理相容 ->原理:在try中讓JS代碼執行,如果執行過程中報錯了,說明不相容,我們在catch中用其他的方式來實現我們的相容處理 ->前提:不相容的情況下執行報錯才可以 ->弊端:不管當前的瀏覽器是否相容,都要先把try中的代碼執行一遍,...
  • 在AngularJS中,有時候需要監視Scope中的某個變數,因為變數的改變會影響一些界面元素的顯示。有時,也希望通過jQuery調用Scope的某個方法。比如以下場景: jQ Button Toggle jQ button state Counter: {{counter}}以...
  • 好吧,正則表達式,我從來沒記過。以前要用的時候都是網上Copy一下的。這裡還是扯一下吧,以後要是有要用到的正則表達式那麼就收集到這個帖子里。(儘管我認為不會,因為我根本就不是一個專業的前端,我只是來划下水的\(^o^)/)應用範圍:正則表達式主要應用於對字元串中的信息實現查找,替換和提取操作。可處理...
  • 第一章HTML 基礎1.html 的基本結構?解析:2.HTML 全稱Hyper Text Markup Language(超文本標記語言)擴展XML:Extendsible Markup Language(可擴展性標記語言)3.高級記事本Ue(UltraEdit)nodepad++Editplus...
  • 插件介紹首先我們來看插件的功能演示(效果):插件準備好後。前臺只需編寫html:然後在javascript中渲染插件(代碼使用jQuery寫法):$(".deptName").ztreeDeptSelect();插件即渲染完成。此插件已發佈至github,源碼地址:https://github.co...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...