關於document.getElementById的一些細節

[code]

document.getElementById 有時會抓name放過了id ,據說是IE的一個BUG;
http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443

頁面中有
<input type="hidden" id="hello8" name="category_id" value="2" />
<select id="category_id" οnchange="al();">

一個是name="category_id" 一個是id="category_id"
用document.getElementById取第二個,可是,取到的卻是第一個name=category_id
在IE中getElementById竟然不是先抓id而是先找name相同的物件...

兩個form,每個form有兩個textbox,兩個form中的textbox是相同的name,但id都不同...
這樣在Firefox是沒問題的...但在IE卻只抓得到第一個出現的name資料

下面這段代碼可以驗證這個結果
<HTML>
<HEAD>
<TITLE> getElementById </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function chkacc(){
alert(document.getElementById("tbxuid1").value);
alert(document.getElementById("tbxpwd1").value);
alert(document.getElementById("tbxuid").value);
alert(document.getElementById("tbxpwd").value);
}
//-->
</SCRIPT>
<BODY>
<FORM METHOD=POST ACTION="" name="frm1">
<INPUT TYPE="text" NAME="tbxuid" id="tbxuid1">
<INPUT TYPE="text" NAME="tbxpwd" id="tbxpwd1">
</FORM>
<FORM METHOD=POST ACTION="" name="frm2">
<INPUT TYPE="text" NAME="tbxuid" id="tbxuid">
<INPUT TYPE="text" NAME="tbxpwd" id="tbxpwd">
<INPUT TYPE="button" value="檢查" name="btnchk" οnclick="chkacc();">
</FORM>
</BODY>
</HTML

② javascript中的getElementbyId使用
網頁中的元素必須有id屬性,才能通過這個方法得到,比如
<input type=text name="content" id="content">

③獲取html標記主要有兩種方法,一種是通過ID值,一種是通過name屬性
name屬性主要用於form表單內的input標記

[/code]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章