Jquery提供的选择器极大的方便了开发人员对Dom的操作,真正实现了代码简化,却功能强大的目标。下面就日常最常用的,在Form表单中如何获取被中选的Radio值做一小小的示例。
创新互联专业为企业提供乐安网站建设、乐安做网站、乐安网站设计、乐安网站制作等企业网站建设、网页设计与制作、乐安企业网站模板建站服务,十多年乐安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
form表单如下:
复制代码代码如下:
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" /转派4br /
/form
那么如何获取被选中的radio值呢,Juqery为我们提供了如下几个方法
复制代码代码如下:
$("input[name='opType']:checked").val() -------此方法估计用的比较多,通俗易懂
$("input:radio:checked").val(); ---------此方法最简单,但是连着使用选择器不容易懂
$("input[@name='opType'][checked]"); --------次方法中切记写成[@checked=checked],本人第一次就写成这个了
那么,偶尔也需要遍历一下radio,如何做呢?当然需要each出场了,具体如下:
复制代码代码如下:
$('input[name="opType"]').each(function(){
alert(this.name+this.value);
});
应该明白了吧,若有什么更好的方法欢迎盖楼。
获得form的url简单的方法:$('form').attr('action')
表单提交简单方法:$('form').submit();
如果有多个表单,请更换选择器,以便找到你所想控制的表单。
以ajax方式提交可以使用ajaxForm方法。
$(this).find("form[name=frm]") //查找$(this)下面的form
$(this).closest("form[name=frm]") //查找$(this)最近的form
写js调用jquery.form.js,对form表单进行ajax提交
$(document).ready(function() {
var options = {
target: '#output1',
// 从服务传过来的数据显示在这个div内部
也就是ajax局部刷新
beforeSubmit: showRequest,
// ajax提交之前的处理
success: showResponse
// 处理之后的处理
};
$('#showDataForm').submit(function() {
$(this).ajaxSubmit(options);
return false;
//非常重要,如果是false,则表明是不跳转
//在本页上处理,也就是ajax,如果是非false,则传统的form跳转。
});
});
第一步:引用js
!--这里的min是自己用js压缩工具对完整版进行的压缩
并不是真正的min,所以好使--
script type="text/javascript" src="js/jquery-1.7.min.js"/script
script type="text/javascript" src="js/jquery.form.js"/script
第二步:页面写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
第三步:写js调用jquery.form.js,对form表单进行ajax提交
$(document).ready(function() {
var options = {
target: '#output1',
// 从服务传过来的数据显示在这个div内部
也就是ajax局部刷新
beforeSubmit: showRequest,
// ajax提交之前的处理
success: showResponse
// 处理之后的处理
};
$('#showDataForm').submit(function() {
$(this).ajaxSubmit(options);
return false;
//非常重要,如果是false,则表明是不跳转
//在本页上处理,也就是ajax,如果是非false,则传统的form跳转。
});
});
function showResponse(responseText, statusText, xhr, $form) {
alert(xhr.responseText+"=="+$form.attr("method")+'status: ' +
statusText + '\n\nresponseText: \n' + responseText);
//xhr:说明你可以用ajax来自己再次发出请求
//$form:是那个form对象,是一个jquery对象
//statusText:状态,成功则为success
//responseText,服务器返回的是字符串(当然包括html,不包括json)
}
function showRequest(formData, jqForm, options) {
//formData是数组,就是各个input的键值map数组
//通过这个方法来进行处理出来拼凑出来字符串。
//formData:拼凑出来的form字符串,比如name=herapassword,
//其实就是各个表单中的input的键值对,
//如果加上method=XXXX,那也就是相当于ajax内的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对象
var formElement = jqForm[0];
alert($(formElement).attr("method"));
alert($(jqForm[0].name).attr("maxlength"));
//非常重要,返回true则说明在提交ajax之前你验证
//成功,则提交ajax form
//如果验证不成功,则返回非true,不提交
return true;
}
options对象内的值有哪些?
var options = {
target: '#output1',
data:{param1:"我自己的第一个额外的参数"},
//这个参数是指通过ajax来给服务器提交除了form内部input的参数
//在后台中使用String param1=req.getParameter("param1");获取。
// dataType: null,
dataType:'json',
//这个参数值的是服务器返回的数据类型,默认的是null
//也就是服务器可以默认返回字符串,然后将这些字符串放在target内部
//当然还有json、xml,其中最常用的便是null和json
//对于span style="color: #333333;"a href="" target="_blank"span style="color: #333333;"json/span/a/span的使用,我们会稍后讲解到
beforeSubmit: showRequest,
success: successRes,
type:'POST'
//提交方式,默认是自己在form标签上指定的method
//如果没有指定,则使用get。
url:''
//重新提交的url,即url可以在form中配置
//也可以在这里配置。
};