日期:2014-05-16  浏览次数:20406 次

吐槽垃圾IE
看下面的html:同志们请注意,IE下获取不到name为abc的input元素
HTML code

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title></title>
<script type="text/javascript">
function test(e){
  alert(document.getElementById('txt12').name);
}
</script>

</head>
<body onload="test()">
<form>
<input name="txt12" type="text" style="width:95%;height:100%;font-family: 宋体;font-size:9pt;color:Gray;" runat="server" value="自动编号" readonly="readonly"/>
<input id="txt12" name='abc' type="text" style="width:95%;height:100%;font-family: 宋体;font-size:9pt;color:Gray;" runat="server" value="自动编号" readonly="readonly"/>
</form>
</body>
</html>



------解决方案--------------------
探讨

IE8啊,弹不出abc的,弹出的是txt12

------解决方案--------------------
ie对name和id的解释同其他浏览器不一样,很可能将name当成id来用,因此,在定义表单元素的name的时候,不要和其他dom的id重名。容易出现逻辑错误。