IE的document.getElementById混淆name和id属性的BUG
前不久我在开发中遇到了在IE下Form.submit()的一个BUG,没想到IE的BUG还不只这么一个,下面我来介绍我遇到的另外一个关于document.getElementById的BUG.
BUG演示
页面演示在这里,代码在下面
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>IE document.getElementById BUG DEMO</title>
- </head>
- <body>
- <script language="javascript">
- /*
- IE document.getElementById BUG 演示DEMO
- 作者:朦朧中的罪惡
- 博客:http://be-evil.org
- */
- function changeValue()
- {
- var username = document.getElementById('username');
- username.value = 'Whahaha';
- }
- </script>
- <form action="IE_BUG2.html" method="get">
- <p>name:<input type="text" name="username" /></p>
- <p>name2:<input type="text" id="username" name="name" /></p>
- <p><input type="button" value="改变" onclick="changeValue();" /></p>
- </form>
- </body>
- </html>
很简单的一段代码,看上去似乎没有任何错误,但是在IE下点击改变按钮后,被改变值的对象居然是第一个name属性为username的input对象.而不是第二个id属性为username的对象.

![附件[ematt:94]](http://be-evil.org/uploadfile/200806/a7a98951e7f0085717601a4a254c8e7520080608232000.gif)
