IE6與IE8運行JS時的一個差異

剛剛解決了一個JSP WEB開發的小問題,說明如下:

 

遇到的問題:

同一個JSP代碼,同一臺服務器,用IE6訪問,運行正常,但用IE8訪問則出現異常。

 

調查結果:

我們使用了struts標籤:<html:hidden property="conditionStr"/>

又在js中使用document.getElementById("conditionStr").value取值。

 

出問題的原因是:

<html:hidden property="conditionStr"/>編譯後,發到客戶端的HTML是

<input type="hidden" name="conditionStr" value="">

 

在IE6裏document.getElementById("conditionStr")可以取到這個控件,

但IE8裏用這個語句就取不到了。

 

也就是說IE6中getElementById(***)的機制是,找不到與***相同的id時,會去找相同name的控件,

但IE8中getElementById(***)只找相同id的。

 

以前的項目在IE8推廣後,要大面積修改了。

發佈了23 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章