日期:2014-05-16  浏览次数:20876 次

复选框是否选中判断,求助。

<%@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;