Jquery提供的選擇器極大的方便了開(kāi)發(fā)人員對(duì)Dom的操作,真正實(shí)現(xiàn)了代碼簡(jiǎn)化,卻功能強(qiáng)大的目標(biāo)。下面就日常最常用的,在Form表單中如何獲取被中選的Radio值做一小小的示例。
創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供樂(lè)安網(wǎng)站建設(shè)、樂(lè)安做網(wǎng)站、樂(lè)安網(wǎng)站設(shè)計(jì)、樂(lè)安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、樂(lè)安企業(yè)網(wǎng)站模板建站服務(wù),十多年樂(lè)安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
form表單如下:
復(fù)制代碼代碼如下:
form name='form1' action="#" method="post"
此處略去200字
input type="radio" name="opType" value="0" /擱置br /
input type="radio" name="opType" value="1" /解決br /
input type="radio" name="opType" value="2" /轉(zhuǎn)派4br /
/form
那么如何獲取被選中的radio值呢,Juqery為我們提供了如下幾個(gè)方法
復(fù)制代碼代碼如下:
$("input[name='opType']:checked").val() -------此方法估計(jì)用的比較多,通俗易懂
$("input:radio:checked").val(); ---------此方法最簡(jiǎn)單,但是連著使用選擇器不容易懂
$("input[@name='opType'][checked]"); --------次方法中切記寫(xiě)成[@checked=checked],本人第一次就寫(xiě)成這個(gè)了
那么,偶爾也需要遍歷一下radio,如何做呢?當(dāng)然需要each出場(chǎng)了,具體如下:
復(fù)制代碼代碼如下:
$('input[name="opType"]').each(function(){
alert(this.name+this.value);
});
應(yīng)該明白了吧,若有什么更好的方法歡迎蓋樓。
獲得form的url簡(jiǎn)單的方法:$('form').attr('action')
表單提交簡(jiǎn)單方法:$('form').submit();
如果有多個(gè)表單,請(qǐng)更換選擇器,以便找到你所想控制的表單。
以ajax方式提交可以使用ajaxForm方法。
$(this).find("form[name=frm]") //查找$(this)下面的form
$(this).closest("form[name=frm]") //查找$(this)最近的form
寫(xiě)js調(diào)用jquery.form.js,對(duì)form表單進(jìn)行ajax提交
$(document).ready(function() {
var options = {
target: '#output1',
// 從服務(wù)傳過(guò)來(lái)的數(shù)據(jù)顯示在這個(gè)div內(nèi)部
也就是ajax局部刷新
beforeSubmit: showRequest,
// ajax提交之前的處理
success: showResponse
// 處理之后的處理
};
$('#showDataForm').submit(function() {
$(this).ajaxSubmit(options);
return false;
//非常重要,如果是false,則表明是不跳轉(zhuǎn)
//在本頁(yè)上處理,也就是ajax,如果是非false,則傳統(tǒng)的form跳轉(zhuǎn)。
});
});
第一步:引用js
!--這里的min是自己用js壓縮工具對(duì)完整版進(jìn)行的壓縮
并不是真正的min,所以好使--
script?type="text/javascript"?src="js/jquery-1.7.min.js"/script
script?type="text/javascript"?src="js/jquery.form.js"/script
第二步:頁(yè)面寫(xiě)form
form?id="showDataForm"?
action="/024pm/f_shopUser.do?method=login"?method="post"
input?type="text"?value=""?name="name"?maxlength="2"/
input?type="password"?value=""?name="password"?maxlength="2"/
input?type="submit"?value="提交"/
/form
div?id="output1"?
style="width:1000px;height:200px;"
/div
第三步:寫(xiě)js調(diào)用jquery.form.js,對(duì)form表單進(jìn)行ajax提交
$(document).ready(function()?{
var?options?=?{
target:?'#output1',
//?從服務(wù)傳過(guò)來(lái)的數(shù)據(jù)顯示在這個(gè)div內(nèi)部
也就是ajax局部刷新
beforeSubmit:?showRequest,
//?ajax提交之前的處理
success:??showResponse
//?處理之后的處理
};
$('#showDataForm').submit(function()?{
$(this).ajaxSubmit(options);
return?false;?
//非常重要,如果是false,則表明是不跳轉(zhuǎn)
//在本頁(yè)上處理,也就是ajax,如果是非false,則傳統(tǒng)的form跳轉(zhuǎn)。
});
});
function?showResponse(responseText,?statusText,?xhr,?$form)?{
alert(xhr.responseText+"=="+$form.attr("method")+'status:?'?+?
statusText?+?'\n\nresponseText:?\n'?+?responseText);
//xhr:說(shuō)明你可以用ajax來(lái)自己再次發(fā)出請(qǐng)求
//$form:是那個(gè)form對(duì)象,是一個(gè)jquery對(duì)象
//statusText:狀態(tài),成功則為success
//responseText,服務(wù)器返回的是字符串(當(dāng)然包括html,不包括json)
}
function?showRequest(formData,?jqForm,?options)?{
//formData是數(shù)組,就是各個(gè)input的鍵值map數(shù)組
//通過(guò)這個(gè)方法來(lái)進(jìn)行處理出來(lái)拼湊出來(lái)字符串。
//formData:拼湊出來(lái)的form字符串,比如name=herapassword,
//其實(shí)就是各個(gè)表單中的input的鍵值對(duì),
//如果加上method=XXXX,那也就是相當(dāng)于ajax內(nèi)的data。
var?queryString?=?$.param(formData);
alert(queryString+"======"+formData.length);
for?(var?i=0;?i??formData.length;?i++)?{
alert(formData[i].value+"==============="+formData[i].name);
}
//jqForm,jquery?form對(duì)象
var?formElement?=?jqForm[0];
alert($(formElement).attr("method"));
alert($(jqForm[0].name).attr("maxlength"));
//非常重要,返回true則說(shuō)明在提交ajax之前你驗(yàn)證
//成功,則提交ajax?form
//如果驗(yàn)證不成功,則返回非true,不提交
return?true;
}
options對(duì)象內(nèi)的值有哪些?
var?options?=?{
target:?'#output1',?
data:{param1:"我自己的第一個(gè)額外的參數(shù)"},
//這個(gè)參數(shù)是指通過(guò)ajax來(lái)給服務(wù)器提交除了form內(nèi)部input的參數(shù)
//在后臺(tái)中使用String?param1=req.getParameter("param1");獲取。
//?dataType:?null,
dataType:'json',
//這個(gè)參數(shù)值的是服務(wù)器返回的數(shù)據(jù)類(lèi)型,默認(rèn)的是null
//也就是服務(wù)器可以默認(rèn)返回字符串,然后將這些字符串放在target內(nèi)部
//當(dāng)然還有json、xml,其中最常用的便是null和json
//對(duì)于span?style="color:?#333333;"a?href=""?target="_blank"span?style="color:?#333333;"json/span/a/span的使用,我們會(huì)稍后講解到
beforeSubmit:?showRequest,
success:??successRes,
type:'POST'
//提交方式,默認(rèn)是自己在form標(biāo)簽上指定的method
//如果沒(méi)有指定,則使用get。
url:''
//重新提交的url,即url可以在form中配置
//也可以在這里配置。
};
網(wǎng)站名稱(chēng):jquery取form,jquery里的方法
路徑分享:http://vcdvsql.cn/article42/dsdgsec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)建站、面包屑導(dǎo)航、小程序開(kāi)發(fā)、軟件開(kāi)發(fā)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)