jquery表單插件form使用方法詳解
傳統(tǒng)的表單提交,都是頁面跳轉(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)不滿足,比如說,我可能想在提交表單之前驗(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)文章
純CSS打造的導(dǎo)航菜單(附j(luò)query版)
使用CSS 制作導(dǎo)航菜單,實(shí)際主要是利用了css的li a屬性,對(duì)于以后用css制作更絢麗的效果提高了很好的參考。2010-08-08
使用jquery實(shí)現(xiàn)仿百度自動(dòng)補(bǔ)全特效
這里給大家分享的效果是像百度的搜索框一樣,當(dāng)用戶在文本框輸入前幾個(gè)字母或是漢字的時(shí)候,該控件就能從存放數(shù)據(jù)的文或是數(shù)據(jù)庫(kù)里將所有以這些字母開頭的數(shù)據(jù)提示給用戶,供用戶選擇,提供方便,增加用戶體驗(yàn)。2015-07-07
jQuery實(shí)現(xiàn)為圖片添加鏡頭放大效果的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)為圖片添加鏡頭放大效果的方法,提供了四種放大鏡效果供大家選擇使用,并附有完整的源碼下載地址,需要的朋友可以參考下2015-06-06
$.ajax返回的JSON無法執(zhí)行success的解決方法
為什么會(huì)這樣子呢?在網(wǎng)上查了好久,結(jié)果發(fā)現(xiàn)是因?yàn)槲抑付薲ataType:'json',這樣一指定完蛋了,對(duì)Json的要求就非常嚴(yán)格起來了2011-09-09
jquery遍歷函數(shù)siblings()用法實(shí)例
這篇文章主要介紹了jquery遍歷函數(shù)siblings()用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了jquery的siblings函數(shù)用于元素遍歷的相關(guān)技巧,需要的朋友可以參考下2015-12-12
JQueryEasyUI框架下的combobox的取值和綁定的方法
這篇文章主要介紹了JQueryEasyUI框架下的combobox的取值和綁定的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01
如何使用PHP+jQuery+MySQL實(shí)現(xiàn)異步加載ECharts地圖數(shù)據(jù)(附源碼下載)
ECharts地圖主要用于地理區(qū)域數(shù)據(jù)的可視化,展示不同區(qū)域的數(shù)據(jù)分布信息,通過本文給大家介紹如何使用PHP+jQuery+MySQL實(shí)現(xiàn)異步加載ECharts地圖數(shù)據(jù),需要的朋友參考下吧2016-02-02

