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

來源:互聯網
上載者:User

我們在提交表單的時候,如果沒有使用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>?)返回falsereturn 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表單,希望大家喜歡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.