复选框是否选中判断,求助。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<script language="javascript">
function szfzl1()
{
var a = document.getElementsByTagName("szfzl1");
//var a = document.getElementsByName("szfzl1");
//var a=document.getElementById("szfzl1"); //这几种我也不知道用那个呢
for (var i=2;i>a.length;i++) //这里我也不知道用不用循环呢
{
if (a[i].checked)
{
alert("选中");
return true;
}
else
{
alert("没有选中");
return false;
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>人才招聘信息发布</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="form1">
<table width="100%" border="0">
<tr>
<td>
<input name="szfzl1" type="checkbox" id="szfzl1" onClick="szfzl1();" value="checkbox">梭织服装类</td>
</tr>
<tr>
<td>
<input type="submit" name="Submit" style="background-color:#FF0000;" value="确认发布">
<input type="reset" name="Submit2" style="background-color:#FF0000;" value="取消"></td>
</tr>
</table>
</form>
复选框是否选中判断,求助。
[解决办法]
用这个
var a = document.getElementsByName("szfzl1");
它返回的是一个数组,所以和下面的代码正好接轨.
var a=document.getElementById("szfzl1");
只返回一个元素,如果有多个ID,只返回第一个.
[解决办法]
var a = document.getElementsByTagName("szfzl1");
不可以.它是用HTML标签名称取对象,如
var a = document.getElementsByTagName("div");
szfzl1是name,不是TagName.
[解决办法]
我试用过了,方法体没有问题。
问题在于方法的名称。
改下方法名称就能正确运行了
function checkInput(){
var a = document.getElementsByName("szfzl1");
alert(a.length);
for(var i=0;i<a.length;i++){
if(a[i].checked==true){
alert("选中");return true;
}else{
alert("没有选中");return false;
}
}
}
<form action="" method="post" enctype="multipart/form-data" name="form1"><table width="100%" border="0"><tr><td><input name="szfzl1" type="checkbox" id="szfzl1" onClick="checkInput();" value="checkbox">梭织服装类</td></tr></table></form>
[解决办法]
你的代码有个小bug,不要使用label作为checkbox的父容器,要不在非IE浏览器下面点击的时候会自动勾选第一个checkbox,参考:label标签在IE,w3c浏览器firefox下的区别
<html>
<head>
<script language="javascript">
function dingdan(e,sp) {
var o = e.target
[解决办法]
e.srcElement;
if (o.tagName != 'INPUT') return;
var a = sp.getElementsByTagName("input");
for (var i = 0; i < a.length; i++) a[i].checked = false;
o.checked = true;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head>
<body>
<table width="100%" border="0">
<tr>
<td>
<span onClick="dingdan(event,this);"><!--用span做容器-->
<input name="dingdan1" type="checkbox" value="checkbox">
求购订单
<input name="dingdan1" type="checkbox" value="checkbox">
供应订单
<input name="dingdan1" type="checkbox" value="checkbox">
加工订单
</span>
</td>
</tr>
</table>
</body>
</html>
[解决办法]
<html>
<head>
<script language="javascript">
function dingdan() {
var a = document.getElementsByName("dingdan1"), num = 0;
for (var i = 0; i < a.length; i++)
if (a[i].checked) num++;
if (num == 0) { alert('请至少选择一个!'); return false; }
else if (num > 1) { alert('只能选择一个!'); return false; }
return true;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head>
<body>
<table width="100%" border="0">
<tr>
<td>
<span onClick="dingdan();">
<input name="dingdan1" type="checkbox" value="checkbox">
求购订单
<input name="dingdan1" type="checkbox" value="checkbox">
供应订单
<input name="dingdan1" type="checkbox" value="checkbox">
加工订单
</span>
</td>
</tr>
</table>
</body>
</html>
[解决办法]
这样写
<html>
<head>
<script language="javascript">
function dingdan(o) {
if(o.checked == false) return;
var a = document.getElementsByName(o.name);
for (var i = 0; i < a.length; i++) {
a[i].checked = a[i] == o ? true : false;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head>
<body>
<table width="100%" border="0">
<tr>
<td>
<input name="dingdan1" type="checkbox" value="1" onClick="dingdan(this);">
求购订单
<input name="dingdan1" type="checkbox" value="2" onClick="dingdan(this);">
供应订单
<input name="dingdan1" type="checkbox" value="3" onClick="dingdan(this);">
加工订单
</td>
</tr>
</table>
</body>
</html>