剛剛解決了一個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推廣後,要大面積修改了。