簡體   English   中英

之間的區別 <html:hidden> 和 <input type=“hidden”> 在IE11上

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM