除非重新创建,否则name属性一般只能在创建它的时候赋予
或者另一个解决办法,为什么不删除最后一个呢?把其他的value值逐个更改就是了

解决方案 »

  1.   

    myhyli() 说得不错, name 不是可以随便更改的, 你若是真想改那先 removeNode 原来的对象, 然后再createElement 新的对象替换老的.
      

  2.   

    function deleteRow(objTD) {
       var objTR =objTD.parentElement;
       var objTable = objTR.parentElement;
       var currRowIndex = objTR.rowIndex
    if (currRowIndex>0){
    objTable.deleteRow(currRowIndex);
    currRowIndex = 0;
    }
    alert(objTable.rows.length)
    for (var i=1;i<objTable.rows.length;i++){
    var nn=objTable.rows(i).cells(2).all(0).name
                 nn="GoodsCode"+i
        alert(nn)
    }
    }
      

  3.   


    谁说“name”不可以改变?????!!!!别误导人!!!!!!!!!!!!!尽管看看下面的程序吧:<script>
    function trychange(obj){
      var outhtml=obj.outerHTML;
      var objname=obj.name;
      outhtml=outhtml.replace("name="+objname,"name=r2");
      outhtml=outhtml.replace(" CHECKED","");
      obj.outerHTML=outhtml;
    }
    </script><input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
    <input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
    <input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
    <input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)"><input name=showcode size=200><input type=button value=show onclick=document.all.showcode.value=document.body.innerHTML;>
      

  4.   

    在windows中任何一个窗体在生成的时候系统都赋给它一个唯一标识它的“句柄”,它是一个内存入口地址,而“name”不过是解释、指向这个地址的名称罢了。
    如同一个人一样,你要改一个名字并不必要把你先“销毁”掉,再让你妈生另一个“你”出来。也如同IP地址和域名的关系一样,同一个IP你可以给它不同的域名,同理同一个窗体所申请的入口地址也可以用不同的名字来访问它。很明显网页上的任何表单,你都可以给它设定ID和Name两个属性,它们都可以找到指定的表单,你甚至也可以用tagName、tagType等来找到这个表单。可见ID和Name都不是唯一可用于访问表单的东西,因此就不可能不能改变。如果你有足够权限的话,你甚至可以改变这些窗体、表单的引用入口地址,别说一个Name了。
      

  5.   

    如果如你所说,那么通过outerHTML甚至可以将一个input变成一个div,那么这种行为不是太鬼异了吗!
    实际情况是对outerHTML的修改实际上在页面上创建了一个新的对象,而不是对原来对象进行修改,下面代码可以证明<script language=javascript>
    function trychange(){
      var obj = text1;  alert(text1 == obj);
      obj.outerHTML = obj.outerHTML;
      alert(text1 == obj);
    }
    </script><INPUT type="button" value="Button" onclick="trychange();">
    <INPUT type="text" id="text1" name="text1">
      

  6.   


    TO:  bdhh(Silent) ( )你说的没错,微软的解释也和你一致:This property is accessible at run time as of Microsoft Internet Explorer 5. Removing elements at run time, before the closing tag has been parsed, can prevent other areas of the document from rendering.
      

  7.   

    我的问题自己解决了贴出来给大家看吧
    <script language="javascript" type="text/javascript">
    function deleteRow(objTD) {
       var objTR =objTD.parentElement;
       var objTable = objTR.parentElement;
       var currRowIndex = objTR.rowIndex
    objTable.deleteRow(currRowIndex);
    for (var i=1;i<objTable.rows.length;i++){
    objTable.rows(i).cells(2).innerText="textfield"+i
    objTable.rows(i).cells(0).all(0).name="textfield"+i
    alert(objTable.rows(i).cells(0).all(0).name)
    }
    }
    </script>
    <table  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>&nbsp;</td>
        <td onClick="javascript:deleteRow(this)">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="textfield1" type="text" value="textfield1"></td>
        <td onClick="javascript:deleteRow(this)"><input type="button" value="删除此列" >
        &nbsp;</td>
        <td>textfield1</td>
      </tr>
      <tr>
        <td><input name="textfield2" type="text" value="textfield2"></td>
        <td onClick="javascript:deleteRow(this)"><input type="button" value="删除此列" ></td>
        <td>textfield2</td>
      </tr>
      <tr>
        <td><input name="textfield3" type="text" value="textfield3"></td>
        <td onClick="javascript:deleteRow(this)"><input type="button" value="删除此列" ></td>
        <td>textfield3</td>
      </tr>
      <tr>
        <td><input name="textfield4" type="text"  value="textfield4"></td>
        <td onClick="javascript:deleteRow(this)"><input type="button" value="删除此列" ></td>
        <td>textfield4</td>
      </tr>
      <tr>
        <td><input name="textfield5" type="text" value="textfield5"></td>
        <td onClick="javascript:deleteRow(this)"><input type="button" value="删除此列" ></td>
        <td>textfield5</td>
      </tr>
      <tr>
        <td><input name="textfield6" type="text" value="textfield6"></td>
        <td onClick="javascript:deleteRow(this)"><input type="button" value="删除此列" ></td>
        <td>textfield6</td>
      </tr>
    </table>