jquery对表单元素操作
下面是自己写的一个用Jquery验证常用的表单元素的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>注册信心验证</title>
<script src="js/jquery-1.6.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($){
$("#btnSmbit").click(function(){
//用户名验证
var name=$("#inputName");
if(name.val().length==0)
{
$("#spName").html("用户名不能为空!");
$("#spName").css("color","red");
$("#spName").css("fontSize","12");
name.focus();
return;
}else
{
$("#spName").html("");
}
//密码验证
var pwd=$("#inputPwd");
if(pwd.val()=="")
{
$("#spPwd").html("请输入你的密码");
$("#spPwd").css("color","red");
$("#spPwd").css("fontSize","12");
pwd.focus();
return;
}
else if(pwd.val().length<6)
{
$("#spPwd").html("密码不能小于6位");
$("#spPwd").css("color","red");
$("#spPwd").css("fontSize","12");
pwd.focus();
return;
}
else
{
$("#spPwd").html("");
}
//验证两次输入的密码是否一致
var nextPwd=$("#nextPwd")
if(nextPwd.val()!=pwd.val())
{
$("#spNextPwd").html("两次输入的密码不一致");
$("#spNextPwd").css("color","red");
$("#spNextPwd").css("fontSize","12");
nextPwd.focus();
}else{
$("#spNextPwd").html("");
}
//判断单选按钮是否选中
if($("input[name='sex']:radio:checked").length==0)
{
alert("请选择你的性别");
return;
}
//验证是否选中复选框
if($("input[name='chk']:checkbox:checked").length==0)
{
alert("你没有一个爱好吗?");
return;
}
// if($(":checkbox:checked").length<1)
// {
// alert("请选择一个爱好...");
// }
if($("#year").val()=="0")
{
alert("请选择年份");
return;
}
})
})
//失去焦点
//验证用户名输入
jQuery(function($){
$("#inputName").bind("blur",function(event){
var name=$("#inputName");
if(name.val().length==0)
{
$("#spName").html("用户名不能为空!");
$("#spName").css("color","red");
$("#spName").css("fontSize","12")
}else
{
$("#spName").html("");
}
})
//验证密码输入
$("#inputPwd").bind("blur",function(event)
{
var pwd=$("#inputPwd");
if(pwd.val()=="")
{
$("#spPwd").html("请输入你的密码");
$("#spPwd").css("color","red");
$("#spPwd").css("fontSize","12");
return;
}
else if(pwd.val().length<6)
{
$("#spPwd").html("密码不能小于6位");
$("#spPwd").css("color","red");
$("#spPwd").css("fontSize","12");
return;
}
else
{
$("#spPwd").html("");
}
})
//验证密码输入是否一致
$("#nextPwd").blur(function()
{
var pwd=$("#inputPwd");
var nextPwd=$("#nextPwd")
if(nextPwd.val()!=pwd.val())
{
$("#spNextPwd").html("两次输入的密码不一致");
$("#spNextPwd").css("color","red");
$("#spNextPwd").css("fontSize","12");
}else{
$("#spNextPwd").html("");
}
}
)
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
注册信息:
<table border="1">
<tr>
<td>
用户名:
</td>
<td>
<input type="text" id="inputName" /><span id="spName"></span>
</td>
</tr>
<tr>
<td>
密码:
</td>
<td>
<input type="text" id="inputPwd" /><span id="spPwd"></span>
</td>
</tr>
<tr>
<td>
再次输入密码:
</td>
<td>
<input type="text" id="nextPwd" /><span id="spNextPwd"></span>
</td>
</tr>
<tr>
<td>
性别:
</td>
<td>
<input type="radio" name="sex" />男<input type="radio" name="sex" />女
</td>
</tr>
<tr>
<td>
生日:
</td>
<td>
<select id="year">
<option value="0">-请选择-</option>
<option value="1984">1984</option>
<option value="1985">1985</option>
<option value="1986">1986</option>
<option value="1987">1987</option>
</select>年
<select id="month">
<option value="0">-请选择-</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>月
<select id="day">
<option value="0">-请选择-</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>日
</td>
</tr>
<tr>
<td>
爱好:
</td>
<td>
<input id="Checkbox1" type="checkbox" name="chk" />上网<input id="Checkbox2" type="checkbox" name="chk"/>看电视
<input id="Checkbox3" type="checkbox" name="chk"/>K歌<input id="Checkbox4" type="checkbox" name="chk" />旅游
</td>
</tr>
<tr>
<td>
<input id="btnSmbit" type="button" value="提交" />
</td>
<td>
<input id="btnReset" type="reset" value="重 置" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
在上面的代码中主要验证了用户名的输入:用到了文本框的val()方法
密码长度的判断,两次输入的密码是否一致,这些都是很简单的,最主要的是平判断radio,checkbox和select是否选择的判断:
radio:$("input[name='sex']:radio:checked").length==0
checkbox:$("input[name='chk']:checkbox:checked").length==0
$(":checkbox:checked").length==0(如果有其他不用选择的checkbox时,这个就不能用了)
select:$("#year").val()
这里有详细介绍对select操作的http://www.cnblogs.com/shuang121/archive/2011/05/11/2043392.html
在来看看怎么获得他们的值:
用户名:name.val()
性别:$("input[name='sex']:radio:checked").val();
复选框: var ah=null;
$("input[name='chk']").each(function(){
if($(this).attr("checked"))
{
ah+=$(this).attr("value");
}
})
each:用来循环元素的
下拉框:$("#year").val()直接通过id获得值
赋值:
$("#inputName").attr("value","zhangsan");
$("#inputName").val("zhangsan");
$("input[name='sex']").each(function()
{
if($(this).attr("value")=="男")
{
$(this).attr("checked","true");
}
})
$("input[name='chk']").each(function(){
if($(this).attr("value")=="K歌" || $(this).attr("value")=="看电视")
{
$(this).attr("checked","true");
}
})
$("#year").attr("value","1984");