本人正在做一个用户信息管理的模块.
以下这段是我用JS根据单选最后得到用户的IDfunction shan(){
var length = document.fm.ro.length;
var i = -1;
var userId = "";
alert(length)
while(i<length){
if(document.fm.ro[i].checked){
userId = document.fm.ro[i].value;
break;
}
i++;
}
if(userId == ""){
alert("请选择需要删除的用户!");
return false;
}
//确认选框
alert(length)
if(confirm("你确定删除吗?")){
document.fm.action="shan.do";
document.fm.submit();
}
}  问题出在,如果到最后只剩一条信息了,这段JS将无法判断,无法进入循环. 选中最后的一条信息,自然就弹出 ("请选择需要删除的用户"), 

解决方案 »

  1.   

    就是这段JS只能判断两天数据以上的单选框,
    如果只剩一条数据,再选定单选框就会弹出 null
      

  2.   

    var i = -1;
    var userId = "";
    alert(length)
    while(i<length){
    if(document.fm.ro[i].checked){--------------------------------i上来等于 -1
      

  3.   

    恩,之前试过了.
    弹出窗口说 length未定义
      

  4.   

    if(document.fm.ro)
    {
     var length = document.fm.ro.length;
    var i = -1;
    var userId = "";
    alert(length)
    }
      

  5.   

    document.fm.ro.length,用这种方法取值,当只有一个得时候,不成为数组,自然没有length你可以这样。
    document.getElementsByName("ro");这种方法来取得。前提是你的checkbox的name必须一样。这样无论几个都被解释为数组
      

  6.   

    请教一下,因为这段JS是我拷贝过来的.
    JS本身也不太熟悉,具体修改的话,应该是改些地方.
      

  7.   

    用JQUERY吧   用它取对象比较方便。
      

  8.   

    呵呵,不怕您笑话,JQuery现在对我来说还是一张白纸,正打算接触呢.
      

  9.   

    比如你的页面有7个checkbox  一个元素有NAME 和ID 的属性  ID在一个页面是唯一的 但NAME可以相同  你将7个checkbox的name="selCheck"  然后 var len= document.getElementsByTagName("selCheck").length;
    这样就能获取到长度了
      

  10.   

    <input type="checkbox" name="selCheck">
    <input type="checkbox" name="selCheck">
    <input type="checkbox" name="selCheck">
    <input type="checkbox" name="selCheck">
    <input type="checkbox" name="selCheck">
    <input type="checkbox" name="selCheck">
    <input type="checkbox" name="selCheck">
    <input type="checkbox" name="selCheck">javascript中
    // 这个永远是数组
    var selCheck = document.getElementsByTagName("selCheck")所以可以安心.length
      

  11.   

    function shan(){
    var selChecks = document.getElementsByTagName("selCheck");var userId = "";
    for (var index = 0; index < selChecks.length; index++) {
    if (selCheck[index].checked) {
    userId = selChecks[index].value;
    break;
    }
    }
    if(userId == ""){
    alert("请选择需要删除的用户!");
    return false;
    }
    //确认选框
    if(confirm("你确定删除吗?")){
    document.fm.action="shan.do";
    document.fm.submit();
    }
    }这里的selCheck用你的名字代替