document.writeln(document.form1.aa.value.length);

解决方案 »

  1.   

    document.form1.aa是一个对象,其length属性当然为undifined。
      

  2.   

    不行的,document.form1.aa.value取的是aa的值,然后在length是没有意义,即使按你的意思说document.form1.aa是一个对象,那document.form1.aa.value.length应该解释为aa对象值的长度,而我上面的意思是得到一个复选框数组的个数
      

  3.   

    当有多个同名的元素时 document.form1.aa 是一个Array ,当然可以取长度了,
    当单个元素时 document.form1.aa 是一个 input type="checkbox"对象, checkbox 中没有长度所有
    就出错了.
    加个判断就好了.
    <script language="javascript">
    if ( document.form1.aa.length==undefined ) {
    document.writeln(1);
    }else {
    document.writeln(document.form1.aa.length);
    }
    </script>
      

  4.   

    不好意思,漏了,还要判断一个 document.form1.aa 是否是对象.防止0 的情况.
      

  5.   

    楼上的接分,你告诉我的同时我老大也同时和我说了一下,不过他叫我看我们自己的项目
    <script language="javascript">
    if(document.form1.aa.length>1){
       for(var i=0;i<f.aa.length;i++){
          if(f.aa[i].checked){
            f.nextitemid.value=f.aa[i].value;
            f.flag="1";
          }
        }
    }
    else{
        f.nextitemid.value=f.aa.value;
        f.flag="1";
      }
    </script>原理一样的,多谢楼上的了