纠正一点
是先点add按钮追加出若干行后点
Click按钮的时候出错!

解决方案 »

  1.   

    function my_click(){ 
    var PForm = eval(document.form1.elements["INS_100_ZPROJText01"]); 
    alert(PForm.name); 
      

  2.   

    alert(PForm.elements["INS_101_ZPROJText01"].name); 
    改为:
    alert(PForm.elements[0].name); 
      

  3.   


    function my_click(){ 
    var PForm = document.form1.elements["INS_100_ZPROJText01"]; //这才有意义
    alert(PForm.name); 
      

  4.   

    ie实现可能有bug,在ff下点add后没有出现错误,如果没点过add,ie和ff都有错误...
      

  5.   

    那样创建text时在ie把name属性去掉了..........汗......这样可以
    function add(){ 
    PXID++; 
    var PTR = document.createElement("TR"); 
    var PTD01 = document.createElement("TD"); 
    PTD01.innerHTML="<input type='text' name='INS_"+PXID+"_ZPROJText01'/> "
    var PTD02 = document.createElement("TD"); 
    PTD02.innerHTML="<input type='text' name='INS_"+PXID+"_ZPROJText02'/> "
    //var PIN01 = document.createElement("INPUT");PIN01.type="text";PIN01.name="INS_"+PXID+"_ZPROJText01"; 
    //var PIN02 = document.createElement("INPUT");PIN02.type="text";PIN02.name="INS_"+PXID+"_ZPROJText02"; 
    PTR.appendChild(PTD01); 
    PTR.appendChild(PTD02); 
    var PMyTBODY = document.getElementById("MyTBODY"); 
    PMyTBODY.appendChild(PTR); 
      

  6.   

    感谢楼上各位的回答document.form1.elements["INS_100_ZPROJText01"];是能取到东西的,但是后面点add动态创建出来的
    INS_101_ZPROJText01,INS_102_ZPROJText01...等等对象通过elements[name]就取不到了。我感到疑惑的
    是这个。debug的时候发现INS_101_ZPROJText01的name属性有值的阿,只是outerhtml没
    难道elements方法取值是通过innerhtml取的?试了下showbo大大的办法,似乎可以。而且这个问题确实是在ie有,ff下正常只能解释为ie的bug了?
      

  7.   

    http://topic.csdn.net/u/20080605/20/20a3ca1d-c3ca-4aca-b511-6df28dae59dd.html7楼的回复
      

  8.   

        var td2 = document.createElement("td");
        
        var input1 = document.createElement("input");     input1.setAttribute("type","text");     input1.id = "fieldMeisaiNumber_" + _rowCount;
    这是我写的好用的
    PIN01.name="INS_"+PXID+"_ZPROJText01";  //是不是PIN01.id??
        
      

  9.   


    好像用id也可以取到用id的话我直接用$("INS_101ZPROJText01")了
    但是name应该也可以啊,看msdn的说明http://msdn.microsoft.com/en-us/library/ms537449.aspx
      

  10.   


    var PIN01=document.createElement(" <input name=INS_"+PXID+"_ZPROJText01 />'); 
    PIN01.type="text"; 
    ...
    mingxuan兄是这个意思吧,我试了下,似乎行添加不对了
    楼上各位已经提供了多种绕过这个问题的解决方法,谢谢大家
    现在的疑问主要是form.elements[name]方法到底是通过什么样的机制去取得对象的,这个我在网上找了半天也没
    找到一个详细的说法。。
      

  11.   

    直接 alert(PForm.INS_101_ZPROJText01.name); 
      

  12.   


    恩,这样确实可以,但是当input结点的名字不固定的时候,这样写就有局限性了。
    比如
    function getValue(int i){
      return document.form1.elements["INS_"+i+"_ZPROJText01"];
    }