首頁 >web前端 >js教程 >基於jQuery透過jQuery.form.js外掛程式使用ajax提交form表單_javascript技巧

基於jQuery透過jQuery.form.js外掛程式使用ajax提交form表單_javascript技巧

WBOY
WBOY原創
2016-05-16 15:44:521706瀏覽

我們在提交表單的時候,如果沒有使用ajax提交,頁面都會自己刷新一下,顯得非常的不友好,所以我們需要把我們的表單提交修改為ajax的模式,可以讓用戶清楚地知道他們在提交表單的時候在哪一個階段:正在提交?提交成功?

我簡單使用了一下,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物件。

實例:

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

2.ajaxSubmit

馬上由AJAX提交表單。大多數情況下,都是呼叫ajaxSubmit來回應使用者提交表單。 ajaxSubmit接受0或1個參數。這個單一的參數既可以是一個回呼函數,也可以是一個Options物件。

實例:

// 绑定表单提交事件处理器
$('#myFormId').submit(function() {
// 提交表单
$(this).ajaxSubmit();
// 为了防止普通浏览器进行表单提交和产生页面导航(<span style="color: #333333;"><a href="http://www.100sucai.com/web/jquerytexiao/huandengpian" target="_blank"><span style="color: #333333;">防止页面刷新</span></a></span>?)返回false
return false;
});

3.formSerialize

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

實例:

var queryString = $('#myFormId').formSerialize();
// 现在可以使用$.get、$.post、$.ajax等来提交数据
$.post('myscript.php', queryString);

4.fieldSerialize

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

實例:

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

5.fieldValue

傳回符合插入陣列中的表單元素值。從0.91版起,此方法將始終以陣列的形式傳回資料。如果元素值被判定可能無效,則陣列為空,否則它將包含一個或多於一個的元素值。該方法傳回數組。

實例:

// 取得密码输入值
var value = $('#myFormId :password').fieldValue(); 
alert('The password is: ' + value[0]);

6.resetForm

透過呼叫表單元素原有的DOM方法,將表單恢復到初始狀態。
例:

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

7.clearForm

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

實例:

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

8.clearFields

清除欄位元素。只有部分錶單元素需要清除時才方便使用。

實例:

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

jQuery Form外掛程式的簡單範例:

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>My Jquery</title>
  <script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery-1.4.2.js"></script>
  <script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery.form.js"></script>
  <script type="text/javascript"> 
  // wait for the DOM to be loaded
    $(document).ready(function() { 
     // bind 'myForm' and provide a simple callback function
      $('#myForm').ajaxForm(function() { 
        alert("Thank you for your comment!"); 
      }); 
    }); 
    // attach handler to form's submit event 
    $('#myFormId').submit(function() {   
     // submit the form   
     $(this).ajaxSubmit();   
     // return false to prevent normal browser submit and page navigation   
     return false; 
    });
  </script>
</head>
<body>
  <form id="myForm" action="index.jsp" method="post">
  Name: <input type="text" name="name" />
  Comment:<textarea name="comment"></textarea>
  <input type="submit" value="Submit Comment" />
  </form>
</body>
</html>

透過本文詳細介紹了jQuery透過jQuery.form.js外掛程式使用ajax提交form表單,希望大家喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn