不会吧
点“先看这里”会看到“toplist”没有被修改
但提交之后会看到提交的是“InfoType”
你们都不是这样吗?

解决方案 »

  1.   

    记得好像是ie不能修改input的name属性(从表面源代码上没改) 不过实际上是改了<form action="" method="get">
    <input name="toplist" id="dd" type="text" value="aaa" />
    <input name="" type="button" value="先看这里" onclick="alert(this.form.innerHTML);alert(document.getElementById('dd').name)" />
    <input name="" type="submit" value="再提交" />
    </form>
    <script>
    var sel = document.getElementById("dd");
    sel.name="InfoType";
    </script>
      

  2.   

    确实是那样,原因可能是ie不允许改变form中的innerHTML
    这段代码在ie中是不能执行的,但火狐中可以
    <form  id="form1" action="" method="get">
    <input name="toplist" id="dd" type="text" value="aaa" />
    <input name="" type="button" value="先看这里" onclick="alert(this.form.innerHTML)" />
    <input name="" type="submit" value="再提交" />
    </form>
    <script>
    document.getElementById("form1").innerHTML="123";
    </script>
      

  3.   


    不是不能修改innerHTML吧,而是不能修改name属性吧
      

  4.   

    <div id="aa">
    <form action="" method="get">
    <input name="toplist" id="dd" type="text" value="aaa" />
    <input name="" type="button" value="先看这里" onclick="alert(document.getElementById('aa').innerHTML)" />
    <input name="" type="submit" value="再提交" />
    </form>
    </div>
    <script>
    var sel = document.getElementById("dd");
    sel.name="InfoType";
    alert(document.getElementById('aa').innerHTML)
    </script>改成这样后,IE下不能显示<form action="" method="get">这个,但是FF却可以显示
      

  5.   

    我感觉正确的情况应该是这样的:
    点击“先看这里”在客户端应该看不到“toplist”被修改 
    而是在服务器端接受的值应该是修改了的 。