[英]Difference between <html:hidden> and <input type=“hidden”> on IE11
我遇到了一個奇怪的問題,該問題似乎與瀏覽器有關(IE9和更低版本與IE11),但想知道為什么會有這種奇怪的行為。
問題說明:我使用spring框架並使用其相關的標記庫來檢索JSP上的數據。 我有一個名為index的變量,我從表單中檢索它,並且以前以以下方式檢索它。
<html:hidden property="index" name="pdmAcctSuppressForm" />
使用以下代碼段在javascript中訪問了上述變量的值(即index
)。
var index = document.getElementById("index").value;
該javascript似乎可以正常工作,並且可以在IE9之前的所有IE瀏覽器中檢索實際值,但似乎無法在IE11上運行。 document.getElementById("index")
在IE11上返回無效。
解決方案:通過從<html:hidden property="index" name="pdmAcctSuppressForm" />
更改上述taglib實現,此問題已解決。
至
<input type="hidden" name="pdmAcctSuppressForm" value="${pdmAcctSuppressForm.index}" id="index"/>
我想知道IE11上進行了哪些更改,從而使該實現無法使用,以及我引用的解決方案是否正確,有效。
該javascript似乎可以正常工作,並且可以在IE9之前的所有IE瀏覽器中檢索實際值,但似乎無法在IE11上運行。
...
我想知道IE11上進行了哪些更改,從而使該實現無法使用,以及我引用的解決方案是否正確,有效。
IE8也應該存在該問題。 IE 7通過IE7有一個錯誤:它使用getElementById
查找的元素沒有您要求的id
,但確實具有匹配的name
。 也就是說,在IE8和更早版本中:
<input name="foo">
...將由document.getElementById("foo")
。
這是一個錯誤(盡管有一段時間,Microsoft稱它為一項功能,並對其進行了記錄),並且該錯誤已得到修復。
更多(在我的博客上) :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.