首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

复选框是否选中判断,

2012-12-30 
复选框是否选中判断,求助。%@LANGUAGEVBSCRIPT CODEPAGE936%htmlheadscript languagejavasc

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


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

热点排行