var   checkArray = document.getElementsByName("checkedExcel")
用这个,一个的时候也是数组

解决方案 »

  1.   

    function   validate(){
    var   flag   =   false;  
      var   objs   = document.getElementById("checkedExcel"); 
    if(objs.length>1){
      for(i=0;i <objs.length;i++){ 
        if(objs[i].checked){ 
          flag   =   true; 
          break; 
        } 
      } 
    }else{
    if(objs.checked){
    flag   =   true; 
          break; 
    }}
      if(flag==false){ 
        alert("请选择一项进行生成!"); 
      }else{ 
      if(!window.confirm("确认进行此操作吗?")){ 
        flag   =   false; 
      } 
      } 
      return   flag; 
    }
    祝你好运!以上就是综合的!其实你只要判断他的长度是否大于1就可以知道是1个还是多个复选框
      

  2.   

    用这个看看,我以前这样用过
    var obj = document.all.CheckBoxName;
    if(typeof(obj.length) == 'number')
      {alert('Array.';}
    else
       {alert('Not Array.');}
      

  3.   

    checkedExcel应该是id吧,3楼的可以解决你的问题
    如果是name的话,1楼正解
      

  4.   

    var       objs       =   document.getElementById("checkedExcel"); 
    不是个数组 哪有长度id 是唯一的  
      

  5.   

    你要看清楚了人家的题目,然后再把我的代码拿去验证!
    他的是动态生成的!那么objs长度就可能1的情况,也就是只有一个CheckBox的情况!
    如果只有一个CheckBox,你还用objs[i].checked这种情况,就会有错!
    只有一个的情况下就得用objs.checked
    这个我才写没多久的,有实力实现了的!
      

  6.   

        var       objs       =   document.getElementById("checkedExcel");  
    if(objs.length> 1){
        for(i=0;i   <objs.length;i++){  //你这里是什么,如果2个呢?
            if(objs[i].checked){  
                flag       =       true;  
                break;  
            }  
        }  
    }
      

  7.   

    ID是唯一的?亏你说这话!你有没有写过多个ID相同的?他如果用的是ID而不是NAME的话!
    你觉得他是对还是错?
      

  8.   

    用ID而不是NAME的话  他后台根本取不到  你把你的例子发出来
      

  9.   

    form 表单提交  是根据name取值的  ,id 没用   
      
    下雪了 ,要出门了,只是个提示,也许你是对的
      

  10.   

    这个是3个的
    <script language="JavaScript" type="text/JavaScript">
    function       validate(){ 
    var       flag       =       false;     
        var       objs       =   document.getElementById("checkedExcel");   
    if(objs.length> 1){ 
        for(i=0;i   <objs.length;i++){   
            if(objs[i].checked){ 
    objs[i].checked = true;  
                flag       =       true;   
                break;   
            }   
        }   
    }else{ 
    if(objs.checked){ 
    objs.checked = true;
    flag       =       true;   
                 
    } } 
        if(flag==false){   
            alert("请选择一项进行生成!");   
        }else{   
        if(!window.confirm("确认进行此操作吗?")){   
            flag       =       false;   
        }   
        }   
        return       flag;   

    </script>
    <form action="" method="post" name="form">
    <input id="checkedExcel" type="checkbox" value="">
    <input id="checkedExcel" type="checkbox" value="">
    <input id="checkedExcel" type="checkbox" value="">
    <input name="submit" type="submit" id="form" value="提交" onClick="validate()">
    </form>下面这个是1个的!拿去试下,如果运行错误你来找我!
    <script language="JavaScript" type="text/JavaScript">
    function       validate(){ 
    var       flag       =       false;     
        var       objs       =   document.getElementById("checkedExcel");   
    if(objs.length> 1){ 
        for(i=0;i   <objs.length;i++){   
            if(objs[i].checked){ 
    objs[i].checked = true;  
                flag       =       true;   
                break;   
            }   
        }   
    }else{ 
    if(objs.checked){ 
    objs.checked = true;
    flag       =       true;   
                 
    } } 
        if(flag==false){   
            alert("请选择一项进行生成!");   
        }else{   
        if(!window.confirm("确认进行此操作吗?")){   
            flag       =       false;   
        }   
        }   
        return       flag;   

    </script>
    <form action="" method="post" name="form">
    <input id="checkedExcel" type="checkbox" value="">
    <input name="submit" type="submit" id="form" value="提交" onClick="validate()">
    </form>
      

  11.   

    哎!看来你对id和name还是搞不清楚啊!然后随口就说有错
      

  12.   

    你肯定没用过ID,就自以为ID不能获取!你用我给你的例子去试!如果ID获取不到,那你再来找我!
      

  13.   

    再说!不喜欢ID 的话就用name,那部分改下就可以了
    <script   language="JavaScript"   type="text/JavaScript"> 
    function               validate(){   
    var               flag               =               false;           
            var               objs   = document.getElementsByName("checkedExcel");       
    if(objs.length>   1){   
            for(i=0;i       <objs.length;i++){       
                    if(objs[i].checked){   
    objs[i].checked   =   true;     
                            flag               =               true;       
                            break;       
                    }       
            }       
    }else{   
    if(objs.checked){   
    objs.checked   =   true; 
    flag               =               true;       
                              
    }   }   
            if(flag==false){       
                    alert("请选择一项进行生成!");       
            }else{       
            if(!window.confirm("确认进行此操作吗?")){       
                    flag               =               false;       
            }       
            }       
            return               flag;       
    }   
    </script> 这东西又不是死的!看你怎么去灵活运用!
      

  14.   

    可能他的情况跟我做的那例子不一样,当然用你说的那个document.getElementsByName是比较合理
    而且不容易出错,用ID的话比较容易出错稍微不注意就出错了
      

  15.   

    用document.getElementsByName可以不用 if else
    直接循环
      

  16.   

    我也比较建议LZ使用document.getElementsByName
    ID这个东西不好玩!玩不好就一堆错误!
      

  17.   

    当然!document.getElementsByName所以一般都用他!而不用ID
    因为ID那个太麻烦!还容易出错!
      

  18.   

    <script   language="JavaScript"   type="text/JavaScript">
    function               validate(){  
    var               flag               =               false;          
            var               objs               =       document.getElementById("checkedExcel");      
    if(objs.length>   1){ 
    alert("1")
            for(i=0;i       <objs.length;i++){      
                    if(objs[i].checked){  
    objs[i].checked   =   true;    
                            flag               =               true;      
                            break;      
                    }      
            }      
    }else{  
    if(objs.checked){
    alert("2")
    objs.checked   =   true;
    flag               =               true;      
                             
    }  }  
            if(flag==false){      
                    alert("请选择一项进行生成!");      
            }else{      
            if(!window.confirm("确认进行此操作吗?")){      
                    flag               =               false;      
            }      
            }      
            return               flag;      
    }  
    </script>
    <form   action=""   method="post"   name="form">
    <input   id="checkedExcel"   type="checkbox"   value="">
    <input   id="checkedExcel"   type="checkbox"   value="">
    <input   id="checkedExcel"   type="checkbox"   value="">
    <input   name="submit"   type="submit"   id="form"   value="提交"   onClick="alert(validate())">
    </form>
    你这个  你看看选一个 和选2个所走的路经如果我要求必须选2个才能提交呢?
      

  19.   

    用if else是为了防止一个错误!
    objs[i].checked= true; 
    就是防止这个出错
    只有一个CheckBox的时候
    objs[i].checked会出错!
    经常会碰到这个情况!
      

  20.   

    一个也是数组呀getElementByIdgetElementsByName为什么下面的多一个s,想想
      

  21.   

    ID不好弄?为什么不好弄
    你去看看id 的定义
      

  22.   

    呵呵,你用getElementsByName去试下就知道了,在某写环境下你下只有一个CheckBox的时候objs[i].checked会出错!因为我就遇到过!所以我一般都用if   else去判断,也是为了省事,懒得去调试!
      

  23.   

    我也不知道他什么环境下要调用这些东西!在一些特殊的定义条件下,加if       else比较好!免得出错还得调试
    当然只是普通的话,就没必要用if       else,这个我也比较赞同,代码能精简就精简!
      

  24.   

    呵呵!让他来看看就结贴吧!再给一个不用if               else的用document.getElementsByName的!
    <script language="JavaScript" type="text/JavaScript">
    function       validate(){ 
    var       flag  =       false;     
        var       objs       =   document.getElementsByName("checkedExcel"); 
    var a=objs.length;  
        for(i=0;i   <objs.length;i++){   
            if(objs[i].checked){  
                flag       =       true;   
                break;   
            }   

        if(flag==false){   
            alert("请选择一项进行生成!");   
        }else{   
        if(!window.confirm("确认进行此操作吗?")){   
            flag       =       false;   
        }   
        }   
        return       flag;   

    </script>根据这样的思路去放到你的环境中调试!
      

  25.   


    var               objs               =       document.getElementsByName("checkedExcel");  
        
            for(i=0;i       <objs.length;i++){   不是某些时候会出奇怪的问题么?这样的东西也能让别人用?
      

  26.   

    http://topic.csdn.net/u/20080124/22/e4acee8c-ae0a-420e-9335-a2e1e96b13c3.htmlmingxuan3000 
    这个问题已经解决就没必要继了去看看这个问题!这个问题,是我实验多次,也问过无数技术群,没一个能解决的一个问题
      

  27.   

    汗!!这个里面包含的知识多哈!很多是基本的!
    没用过dao操作数据库!
      

  28.   

    汗!我就是想有人能给个新思路!我换了几个思路都不行!
    dao这个玩意还真不会用!
      

  29.   

    一行还是多行的情况都能用的:
    对于checkedExcel控件与其用ID命名还是NAME命名无关
    function       validate(){ 
    var       flag       =       false; 
    var   objs   =   document.all("checkedExcel"); 
        var       objs       =   document.getElementsByName("checkedExcel");
    alert(objs.length);
    //alert(objs.checked);    for(i=0;i   <objs.length;i++){   
            if(objs[i].checked){   
                flag       =       true;   
                break;   
            }   
        }       if(flag==false){   
            alert("请选择一项进行生成!");   
        }else{   
        if(!window.confirm("确认进行此操作吗?")){   
            flag       =       false;   
        }   
        }   
        return       flag;   
      

  30.   

    在asp.net下面服务器控件是绝不允许出现多个相同的id的,但对于html控件,只要不设置runat=server
    出现相同的id虽然编辑器会报id相同的错误,但是照样可以运行的,
    而且在js里面用document.getElementById(id)得到的就是一个对象数组,而在纯粹的html的编辑中,出现多个相同id的元素,是没有问题的
      

  31.   

    给一个最简单的,<script language="javaScript">
    var num=0;function check_checkbox(){
    var obj=event.srcElement;
    if(obj.checked==true)
      {
        num++;
      }else
      {
        num--;
      }
    }
    <input type="checkbox" id="" onclick="check_checkbox()"/>
    在你的提交判断里加一条,
    if(num){alert("请至少选择一条!");}