如果要修改name,应该用如下语句:
input.outerHTML = input.outerHTML.replace("name=\"" + input.name + "\"", "name=\"" + newName + "\"");

解决方案 »

  1.   

    造成你所述现象的原因是name属性它就有这么特别,如此特别的也只有它一个。所有元素的name属性均会有此问题。所以,一般不要设计成需要修改name,而是修改id。
      

  2.   

    修改name也不会出错,提交的时候使用的name也是你修改后的name,但问题的你不能在以下地方使用新值:
    document.all[name]
    document.getElementsByName()等等,也就是说修改的name属性值是改变了,读也能读出新值,但看起来却好像只在提交那瞬间才完全生效,而到那个瞬间的时候已经不是脚本能控制的了。