当只有一个选择时,不是数组,直接调用即可.
<form name="form1">
<input type=checkbox value="999" name=SelectedId>
</form>
<script>
alert(document.form1.SelectedId.value);
</script>

解决方案 »

  1.   

    我又测试了一下:
    删除了for循环,
    换成了:alert(document.form1.SelectedId.length);如果checkbox 的个数>1时, 能显示页面有多少个checkbox。
    当只有1个checkbox 的时候,如果执行上面的代码,显示的是 undefined这是什么情况?
      

  2.   

    <input type=checkbox value="..." name=SelectedId>
    <script language=javascript>
    alert(document.getElementsByName("SelectedId").length)
    </script>
      

  3.   

    1个checkbox  ,不是数组,.length is a attribute of array
      

  4.   

    var a=document.form1.SelectedId;
    if(a.length){
       for()循环
    }else{
       alert(a.value);
    }
      

  5.   

    hbhbhbhbhb1021(天外水火(我要多努力))  的方法可行但是我需要判断一下, 如:
    for(var i=0;i<document.form1.SelectedId.length;i++)
    {
        if(document.form1.SelectedId[i].checked) {
            name += document.form1.SelectedId[i].value
        } 
    }
    当只有1个checkbox 的时候, name取不到值,这个问题如何解决阿?
    注:一定要用循环才行,因为大部分情况是N>1条记录。
      

  6.   

    一个checkbox时不是数组,所以不可以用document.form1.SelectedId[i] 来获得控件.可以写一个相同name的隐含控件来充数,循环取值时从1开始,如:
    <input type=hidden name=SelectedId>
    <input type=checkbox value=... name=SelectedId>代码:
    for(var i=1 ; i<document.form1.SelectedId.length;i++)
    {
        alert(document.form1.SelectedId[i].value);
    }