基于jQuery通過jQuery.form.js插件使用ajax提交form表單
我們?cè)谔峤槐韱蔚臅r(shí)候,如果沒有使用ajax提交,頁(yè)面都會(huì)自己刷新一下,顯得非常的不友好,所以我們需要把我們的表單提交修改為ajax的模式,可以讓用戶清楚地知道他們?cè)谔峤槐韱蔚臅r(shí)候處在哪一個(gè)階段:正在提交?提交成功?
我簡(jiǎn)單使用了一下,jQuery Form插件有一下優(yōu)點(diǎn):
1.支持提交前驗(yàn)證.
2.支持提交后回調(diào).
3.采用AJAX方式,有很好的用戶體驗(yàn)
4.提交方式是靈活.只要指定要提交的form ID即可.想提交那個(gè)form.就可提交那個(gè).同時(shí)提交參數(shù)可配置.
5.支持提交多種類型數(shù)據(jù).如:xml,json等.
主要的函數(shù):
1.ajaxForm
增加所有需要的事件監(jiān)聽器,為AJAX提交表單做好準(zhǔn)備。ajaxForm不能提交表單。在document的ready函數(shù)中,使用ajaxForm來為AJAX提交表單進(jìn)行準(zhǔn)備。ajaxForm接受0個(gè)或1個(gè)參數(shù)。這個(gè)單個(gè)的參數(shù)既可以是一個(gè)回調(diào)函數(shù),也可以是一個(gè)Options對(duì)象。
實(shí)例:
$('#myFormId').ajaxForm();
2.ajaxSubmit
馬上由AJAX來提交表單。大多數(shù)情況下,都是調(diào)用ajaxSubmit來對(duì)用戶提交表單進(jìn)行響應(yīng)。ajaxSubmit接受0個(gè)或1個(gè)參數(shù)。這個(gè)單個(gè)的參數(shù)既可以是一個(gè)回調(diào)函數(shù),也可以是一個(gè)Options對(duì)象。
實(shí)例:
// 綁定表單提交事件處理器 $('#myFormId').submit(function() { // 提交表單 $(this).ajaxSubmit(); // 為了防止普通瀏覽器進(jìn)行表單提交和產(chǎn)生頁(yè)面導(dǎo)航(<span style="color: #333333;"><a target="_blank"><span style="color: #333333;">防止頁(yè)面刷新</span></a></span>?)返回false return false; });
3.formSerialize
將表單串行化(或序列化)成一個(gè)查詢字符串。這個(gè)方法將返回以下格式的字符串:name1=value1&name2=value2。這個(gè)方法返回一個(gè)字符串。
實(shí)例:
var queryString = $('#myFormId').formSerialize(); // 現(xiàn)在可以使用$.get、$.post、$.ajax等來提交數(shù)據(jù) $.post('myscript.php', queryString);
4.fieldSerialize
將表單的字段元素串行化(或序列化)成一個(gè)查詢字符串。當(dāng)只有部分表單字段需要進(jìn)行串行化(或序列化)時(shí),這個(gè)就方便了。這個(gè)方法將返回以下格式的字符串:name1=value1&name2=value2。這個(gè)方法返回一個(gè)字符串。
實(shí)例:
var queryString = $('#myFormId .specialFields').fieldSerialize();
5.fieldValue
返回匹配插入數(shù)組中的表單元素值。從0.91版起,該方法將總是以數(shù)組的形式返回?cái)?shù)據(jù)。如果元素值被判定可能無效,則數(shù)組為空,否則它將包含一個(gè)或多于一個(gè)的元素值。該方法返回?cái)?shù)組。
實(shí)例:
// 取得密碼輸入值 var value = $('#myFormId :password').fieldValue(); alert('The password is: ' + value[0]);
6.resetForm
通過調(diào)用表單元素原有的DOM方法,將表單恢復(fù)到初始狀態(tài)。
實(shí)例:
$('#myFormId').resetForm();
7.clearForm
清除表單元素。該方法將所有的文本(text)輸入字段、密碼(password)輸入字段和文本區(qū)域(textarea)字段置空,清除任何select元素中的選定,以及將所有的單選(radio)按鈕和多選(checkbox)按鈕重置為非選定狀態(tài)。
實(shí)例:
$('#myFormId').clearForm();
8.clearFields
清除字段元素。只有部分表單元素需要清除時(shí)才方便使用。
實(shí)例:
$('#myFormId .specialFields').clearFields();
jQuery Form插件的簡(jiǎn)單示例:
<%@ 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>
通過本文詳細(xì)介紹了jQuery通過jQuery.form.js插件使用ajax提交form表單,希望大家喜歡。
- jquery.form.js實(shí)現(xiàn)將form提交轉(zhuǎn)為ajax方式提交的方法
- jquery.form.js用法之清空form的方法
- 使用jquery.form.js實(shí)現(xiàn)圖片上傳的方法
- jQuery插件之jQuery.Form.js用法實(shí)例分析(附demo示例源碼)
- 解決3.01版的jquery.form.js中文亂碼問題的解決方法
- 使用jQuery.form.js/springmvc框架實(shí)現(xiàn)文件上傳功能
- jquery.form.js框架實(shí)現(xiàn)文件上傳功能案例解析(springmvc)
- Struts2+jquery.form.js實(shí)現(xiàn)圖片與文件上傳的方法
- 基于jQuery通過jQuery.form.js插件實(shí)現(xiàn)異步上傳
- jquery.form.js異步提交表單詳解
相關(guān)文章
JavaScript?ES6中class定義類實(shí)例方法
ES6提供了更接近面向?qū)ο?注意:javascript本質(zhì)上是基于對(duì)象的語(yǔ)言)語(yǔ)言的寫法,引入了Class(類)這個(gè)概念,作為對(duì)象的模板,下面這篇文章主要給大家介紹了關(guān)于JavaScript?ES6中class定義類的相關(guān)資料,需要的朋友可以參考下2022-07-07JS中for,for...in,for...of和forEach的區(qū)別和用法實(shí)例
JS遍歷數(shù)組(循環(huán)數(shù)組)的方式有多種,可以使用傳統(tǒng)的for循環(huán),也可以使用升級(jí)版的for in循環(huán),還可以使用Array類型的forEach() 方法,這篇文章主要給大家介紹了關(guān)于JS中for、for...in、for...of和forEach的區(qū)別和用法的相關(guān)資料,需要的朋友可以參考下2021-11-11JavaScript箭頭函數(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript箭頭函數(shù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06js菜單點(diǎn)擊顯示或隱藏效果的簡(jiǎn)單實(shí)例
本篇文章主要是對(duì)js菜單點(diǎn)擊顯示或隱藏效果的簡(jiǎn)單實(shí)例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01javascript基于牛頓迭代法實(shí)現(xiàn)求浮點(diǎn)數(shù)的平方根【遞歸原理】
這篇文章主要介紹了javascript基于牛頓迭代法實(shí)現(xiàn)求浮點(diǎn)數(shù)的平方根,簡(jiǎn)單說明了牛頓迭代法的原理,并結(jié)合實(shí)例分析了javascript基于遞歸的數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-09-09