checkbox的奇怪问题

iforem 2004-10-27 11:01:48
看下面这个例子,用来统计选中的checkbxo个数

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script language="javascript">
function countnum()
{
var num=0;
for(var i=0;i<document.all["mycheckbox"].length;i++)
{
if(document.all["mycheckbox"][i].checked==true)
{
num = num+1
}
}
alert(num)
}
</script>
<body>
<input type="submit" name="Submit" value="提交" onClick="countnum()">
<input type="checkbox" name="mycheckbox" value="checkbox" id="mycheckbox">

<input type="text" name="num">
</body>
</html>

页面上有2个以上的checkbox的时候,程序是正常的

但是当页面上只有一个checkbox的时,即使选中checkbox,打印的个数依然是0

不知道大家遇到过这种问题没有?


...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wellcomer 2004-10-27
  • 打赏
  • 举报
回复
在循环前面加上alert(document.all["mycheckbox"].length);可以知道当只有一个checkbox时document.all["mycheckbox"][i]这个数组是不存在的,只能用document.all["mycheckbox"]来表示此checkbox。
不知道这应不应该算一个小bug。可能处于其他方面的考虑就是这样设计的吧。

在循环外加个判断就行了。
yiyioo 2004-10-27
  • 打赏
  • 举报
回复
问题在这句,document.all["mycheckbox"].length
如果只有一个checkbox则这个的值,则这个对象就成了undifined了

duoduobaba 2004-10-27
  • 打赏
  • 举报
回复
只有一个checkbox的时候只有一个checkbox对象不是数组
tina2elva 2004-10-27
  • 打赏
  • 举报
回复
我也遇到过这个问题,好像是多于一个的时候才建立数组,一个的时候不建立数组,也就没有数组的长度
心云意水 2004-10-27
  • 打赏
  • 举报
回复
<script language="javascript">
function countnum()
{
var num=0;
for(var i=0;i<document.getElementsByName("mycheckbox").length;i++)
{
if(document.getElementsByName("mycheckbox")[i].checked==true)
{
num = num+1
}
}
alert(num)
}
</script>
<body>
<input type="button" name="Submit" value="提交" onClick="countnum()">
<input type="checkbox" name="mycheckbox" value="checkbox" id="mycheckbox">

<input type="text" name="num">
</body>
defoliation 2004-10-27
  • 打赏
  • 举报
回复
学习
iforem 2004-10-27
  • 打赏
  • 举报
回复
从csdn上找到答案了

function selectAll()
{
var arrObj = document.all;
for(var i = 0; i < arrObj.length;i++)
{

if(typeof arrObj[i].type != "undefined" && arrObj[i].type=='checkbox')
{
arrObj[i].checked =true;
}
}
}

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧