jquery表單插件form使用方法詳解
傳統(tǒng)的表單提交,都是頁(yè)面跳轉(zhuǎn)的形式,但是現(xiàn)在更流行ajax提交,那么如果希望有表單提交的簡(jiǎn)便,也有ajax的效果,有什么解決辦法嗎?
怎么使用
兩種使用方式:
第一種方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-1.9.1.min.js"></script> <script src="js/jquery-form.js"></script> <script> // 使用ajaxForm $(function(){ $("#myForm").ajaxForm(function(){ $("#output1").html("提交成功").show(); }) }) </script> </head> <body> <form id="myForm"> <input type="text" name="username"> <input type="text" name="password"> <input type="submit" value="提交"> <div id="output1" style="display: none"></div> </form> </body> </html>
第二種方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-1.9.1.min.js"></script> <script src="js/jquery-form.js"></script> <script> $(function(){ //方式二 與方式一效果一樣 $("#myForm").submit(function(){ // 使用ajaxSubmit $(this).ajaxSubmit(function(){ $("#output1").html("提交成功").show(); }); return false; }) }) </script> </head> <body> <form id="myForm"> <input type="text" name="username"> <input type="text" name="password"> <input type="submit" value="提交"> <div id="output1" style="display: none"></div> </form> </body> </html>
感覺上第一種要 更方便一點(diǎn)。
其中的參數(shù)function()是提交成功后的回調(diào)函數(shù)。
利用這種提交方式,可以實(shí)現(xiàn)異步表單提交,很方便。但是,還是有點(diǎn)不滿足,比如說(shuō),我可能想在提交表單之前驗(yàn)證一下,雖然可以手動(dòng)地在提交表單動(dòng)作之外完成,但是很麻煩。form插件有沒有繼承這樣的功能呢?
二、options參數(shù)
上面只講了form中的一個(gè)function回調(diào)函數(shù)參數(shù),其實(shí)它還有一個(gè)參數(shù),就是options。有什么用呢?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-1.9.1.min.js"></script> <script src="js/jquery-form.js"></script> <script> var options = { target:'#output1', // 把服務(wù)器返回的內(nèi)容放入id為output1的元素中 beforeSubmit: fun1, // 提交前的回調(diào)函數(shù) success: fun2, // 提交后的回調(diào)函數(shù) dataType: // 接收服務(wù)端返回的類型 xml,scrpit,json }; // beforeSubmit前可以作驗(yàn)證 function fun1(formData,jqForm,options){ // formData 提交值的數(shù)組對(duì)象 // jqForm 表單元素的jQuery對(duì)象,jqForm[0]是其dom對(duì)象 // 該函數(shù)如果返回false,則阻止表單提交 // formData可以判斷全部不為空的情況 for(var i=0;i<formData.length;i++){ if(!formData[i].value){ alert("都不能為空"); return false; } } // jqForm可以判斷某個(gè)不為空的情況 var form = jqForm[0]; if(!form.name.value){ alert("name不能為空"); return false; } // fieldValue()可以獲取多值的數(shù)組形式,如checkbox var value = $('input[name=name]').fieldValue(); if(!value[0]){ return false; } } function fun2(responseText, statusText){ // 根據(jù)dataType不同responseText解析方式不同, // 默認(rèn) responseText // xml responseXml以xml解析 // json responseJson } $(function(){ //方式二 與方式一效果一樣 $("#myForm").ajaxForm(options); // 要想使options生效,需要作為參數(shù)傳遞 }) </script> </head> <body> <form id="myForm"> <input type="text" name="username"> <input type="text" name="password"> <input type="submit" value="提交"> <div id="output1" style="display: none"></div> </form> </body> </html>
可以看出,在beforeSubmit的回調(diào)函數(shù)fun1中,我們有三種方式獲取表單數(shù)據(jù) formData,jqForm,fieldValue 滿足了各種獲取值的方式,想怎么驗(yàn)證怎么驗(yàn)證。只要返回false就能阻止表單提交sucess回調(diào)的fun2也有狀態(tài)值和服務(wù)端的返回?cái)?shù)據(jù),想怎么處理怎么處理。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery實(shí)現(xiàn)獲取form表單內(nèi)容及綁定數(shù)據(jù)到form表單操作分析
- jQuery實(shí)現(xiàn)form表單序列化轉(zhuǎn)換為json對(duì)象功能示例
- 關(guān)于jquery form表單序列化的注意事項(xiàng)詳解
- JQuery form表單提交前驗(yàn)證單選框是否選中、刪除記錄時(shí)驗(yàn)證經(jīng)驗(yàn)總結(jié)(整理)
- jquery.form.js異步提交表單詳解
- jQuery表單插件ajaxForm實(shí)例詳解
- jQuery Form表單取值的方法
- jquery獲取form表單input元素值的簡(jiǎn)單實(shí)例
- Jquery讓form表單異步提交代碼實(shí)現(xiàn)
相關(guān)文章
jQuery實(shí)現(xiàn)dialog設(shè)置focus焦點(diǎn)的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)dialog設(shè)置focus焦點(diǎn)的方法,涉及jQuery針對(duì)dialog的操作技巧,需要的朋友可以參考下2015-06-06快速實(shí)現(xiàn)jQuery多級(jí)菜單效果
這篇文章主要教大家如何快速實(shí)現(xiàn)jQuery多級(jí)菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02讓頁(yè)面上兩個(gè)div中的滾動(dòng)條(滑塊)同步運(yùn)動(dòng)示例
如何想讓頁(yè)面上兩個(gè)div中的滾動(dòng)條(滑塊)同步運(yùn)動(dòng)該怎實(shí)現(xiàn),具體代碼如下,感興趣的朋友可以參考下2013-08-08jQuery實(shí)現(xiàn)倒計(jì)時(shí)重新發(fā)送短信驗(yàn)證碼功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)倒計(jì)時(shí)重新發(fā)送短信驗(yàn)證碼功能,結(jié)合實(shí)例形式分析了基于jQuery的倒計(jì)時(shí)操作功能實(shí)現(xiàn)方法,涉及jQuery表單提交、驗(yàn)證、正則操作等技巧,需要的朋友可以參考下2017-01-01jquery綁定原理 簡(jiǎn)單解析與實(shí)現(xiàn)代碼分享
下面的內(nèi)容只是自己的一些理解,水平有限,難免有錯(cuò),望指正2011-09-09JQuery中dataGrid設(shè)置行的高度示例代碼
dataGrid 設(shè)置行的高度在jquery中如何做到,下面有個(gè)不錯(cuò)的教程,感興趣的朋友可以參考下2014-01-01jQuery插件實(shí)現(xiàn)的日歷功能示例【附源碼下載】
這篇文章主要介紹了jQuery插件實(shí)現(xiàn)的日歷功能,結(jié)合完整實(shí)例形式分析了jQuery datepicker插件實(shí)現(xiàn)日歷功能的相關(guān)操作技巧,需要的朋友可以參考下2018-09-09