那是因为如果只有一个复选框,则check就不是一个数组了,你调用它的length方法当然会出错。给你做了一个例子:
__________________________________________________________________________
<script type="text/javascript">
function get_count(frm, name)
{
var counter = 0;
for (var i = 0; i < frm.elements.length; i ++)
{
var ele = frm.elements[i];
if (ele.type == 'checkbox' && ele.name == name)
counter ++;
}
return counter;
}
</script>
<form>
<input type="checkbox" name="check" value="1">
<input type="checkbox" name="check" value="2">
<input type="button" onclick="alert(get_count(this.form,'check'))">
</form>

解决方案 »

  1.   

    补充说明:动态页面中包括以下这句:
    <input type="checkbox" name="check" TokenID="...">
    我本意是想用document.form.check[i].TokenID循环获取每一个check的TokenID值,当check的个数为2个或2个以上时可以获取TokenID值,而当check仅有一个时就无法获取TokenID值?
    请问2楼,你有什么方法?谢谢赐教!
      

  2.   

    不管你的本意是什么,你都没仔细看我的回复。
    ________________________________________________________________
    那是因为如果只有一个复选框,则check就不是一个数组了,你调用它的length方法当然会出错。
    如果只有一个checkbox,调用方法应该为
    document.form.check.TokenID
    2个及以上应该为
    document.form.check[i].TokenID那么现在有一个问题就是需要判断到底是一个还是多个checkbox。怎么判断?用我提供给你的get_count()函数啊!