是因为控件对象已经不存在了,所以对其的任何操作都会出错提示没定义(undefined)也就不是很奇怪了~~~

解决方案 »

  1.   

    要是 typeof 是 number 的话应该是数组
    看看你的循环控制有没有问题
      

  2.   

    是这样的,如果每插入一行就创建一个文本框的话,并且命名有一定规律,例如:text1、text2、text3...。如果把最后一行删除掉,文本框text3也同时会被删除掉。这个时候要对text3操作,当然会提示对象不存在。只是这个意思...
      

  3.   

    自己测试一下不就行了?<form name='form1'>
    <input type=text name=aaa>
    <input type=text name=aaa>
    <input type=text name=aaa>
    <input type=text name=aaa value='test'>
    </form>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    alert(form1.aaa[3].value);  //==========>test
    //-->
    </SCRIPT>
    --------------------------------------------------------
    <form name='form1'>
    <input type=text name=aaa value='test'>
    </form>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    alert(form1.aaa[3].value); //=======>form1.aaa.3不是对象
    //-->
    </SCRIPT>
    --------------------------------------------------------
    <form name='form1'>
    <input type=text name=aaa value='test'>
    </form>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    alert(form1.aaa.value); //===========>test
    //-->
    </SCRIPT>
    ---------------------------------------------------------
    结果:
    form元素有name属性,当name相同的元素超过二个以上时则自动转化为对象数组
    如果只有一个时,则为单一对象
      

  4.   

    删掉后生最后一个id项,这个id就不是数组,判断一下就行了
    if(obj.constructor!=Array){
         alert(obj);
    }else{
         for(i=0;i<obj.length;i++){
              alert(obj[i]);
         }
    }
      

  5.   

    是alert(obj.value)和alert(obj[i].value)
      

  6.   

    document.frmmain.aa_md[n] //用这种方式取数组本身会有问题的, 标准的做法是:
    document.getElementsByName("aa_md");  //判断其 length 是否大于0
      

  7.   

    var el = document.frmmain.elements["el_md"];
    var len = el ? (el.length ? el.length : 0) : 0document.getElementsByName不是标准做法,form对象不同,名字相同就会出错了
      

  8.   

    document.getElementsByName不是标准做法,form对象不同,名字相同就会出错了
    可以把form对象加在选择域里:
    document.formName.getElementsByName("aa_md");  //谢谢阿信