jQuery Form Plugin

 在jQuery Form插件可以讓你很容易的使用AJAX提交Form表單,主要方法ajaxForm和ajaxSubmit負責收集表單元素的信息,管理提交進程。這兩種方法都是可配置的,讓你完全控制Form提交。使用AJAX提交表單沒有任何方式比JQuery Form插件更容易的了.

官網地址:www.malsup.com/jquery/form/:有文檔說明和演示示例可供參考!

我簡單使用了一下,jQuery Form插件有一下優點: 
1.支持提交前驗證.
2.支持提交後回調.
3.採用AJAX方式,有很好的用戶體驗
4.提交方式是靈活.只要指定要提交的form ID即可.想提交那個form.就可提交那個.同時提交參數可配置.
5.支持提交多種類型數據.如:xml,json等.

主要的函數:
1.ajaxForm
增加所有需要的事件監聽器,爲AJAX提交表單做好準備。ajaxForm不能提交表單。在document的ready函數中,使用ajaxForm來爲AJAX提交表單進行準備。ajaxForm接受0個或1個參數。這個單個的參數既可以是一個回調函數,也可以是一個Options對象。

實例:
 

  1. $('#myFormId').ajaxForm(); 

2.ajaxSubmit
馬上由AJAX來提交表單。大多數情況下,都是調用ajaxSubmit來對用戶提交表單進行響應。ajaxSubmit接受0個或1個參數。這個單個的參數既可以是一個回調函數,也可以是一個Options對象。

實例:
 

  1. // 綁定表單提交事件處理器 
  2. $('#myFormId').submit(function() { 
  3. // 提交表單 
  4. $(this).ajaxSubmit(); 
  5. // 爲了防止普通瀏覽器進行表單提交和產生頁面導航(防止頁面刷新?)返回false 
  6. return false; 
  7. }); 

3.formSerialize
將表單串行化(或序列化)成一個查詢字符串。這個方法將返回以下格式的字符串:name1=value1&name2=value2。這個方法返回一個字符串。

實例:

  1. var queryString = $('#myFormId').formSerialize(); 


// 現在可以使用$.get、$.post、$.ajax等來提交數據
 

  1. $.post('myscript.php', queryString); 

4.fieldSerialize
將表單的字段元素串行化(或序列化)成一個查詢字符串。當只有部分表單字段需要進行串行化(或序列化)時,這個就方便了。這個方法將返回以下格式的字符串:name1=value1&name2=value2。這個方法返回一個字符串。

實例:
 

  1. var queryString = $('#myFormId .specialFields').fieldSerialize(); 

5.fieldValue
返回匹配插入數組中的表單元素值。從0.91版起,該方法將總是以數組的形式返回數據。如果元素值被判定可能無效,則數組爲空,否則它將包含一個或多於一個的元素值。該方法返回數組。

實例:
// 取得密碼輸入值
 

  1. var value = $('#myFormId :password').fieldValue();  
  2. alert('The password is: ' + value[0]); 

6.resetForm
通過調用表單元素原有的DOM方法,將表單恢復到初始狀態。

實例:
 

  1. $('#myFormId').resetForm(); 

7.clearForm
清除表單元素。該方法將所有的文本(text)輸入字段、密碼(password)輸入字段和文本區域(textarea)字段置空,清除任何select元素中的選定,以及將所有的單選(radio)按鈕和多選(checkbox)按鈕重置爲非選定狀態。

實例:
 

  1. $('#myFormId').clearForm(); 


8.clearFields
清除字段元素。只有部分表單元素需要清除時才方便使用。

實例:
 

  1. $('#myFormId .specialFields').clearFields(); 


jQuery Form插件的簡單示例: 
 

  1. <%@ page language="java" pageEncoding="UTF-8"%> 
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
  3. <html> 
  4. <head> 
  5.    <title>My Jquery</title> 
  6.    <script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery-1.4.2.js"></script> 
  7.    <script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery.form.js"></script> 
  8.    <script type="text/javascript">  
  9.    // wait for the DOM to be loaded 
  10.         $(document).ready(function() {  
  11.          // bind 'myForm' and provide a simple callback function 
  12.             $('#myForm').ajaxForm(function() {  
  13.                 alert("Thank you for your comment!");  
  14.             });  
  15.         });  
  16.         // attach handler to form's submit event  
  17.         $('#myFormId').submit(function() {      
  18.          // submit the form      
  19.          $(this).ajaxSubmit();      
  20.          // return false to prevent normal browser submit and page navigation      
  21.          return false;  
  22.         }); 
  23.     </script> 
  24. </head> 
  25. <body> 
  26.    <form id="myForm" action="index.jsp" method="post"> 
  27.     Name: <input type="text" name="name" /> 
  28.     Comment:<textarea name="comment"></textarea> 
  29.     <input type="submit" value="Submit Comment" /> 
  30.    </form> 
  31. </body> 
  32. </html> 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章