2010-09-20 57 views
4

什麼是隱藏輸入文本框的正確方法?以下內容似乎適用於除Internet Explorer以外的所有瀏覽器。我正在測試IE8。使用javascript在窗體中隱藏文本框

var field = document.getElementsByTagName("input")[0]; 
field.type = 'hidden'; 

備案以下不工作:

var field = document.getElementsByTagName("input")[0]; 
field.style.display = 'none'; 

也不做這項工作:

var field = document.getElementsByTagName("input")[0]; 
field.setAttribute("type", "hidden"); 
+1

'不起作用'不是一個非常準確的問題描述。你是否收到錯誤信息,電腦是否崩潰,蘋果是否開始從天而降,......?另外一個包含HTML和展示問題的完整代碼片段會很好。 – 2010-09-20 07:14:31

+1

確認字段是否爲空,併爲IE添加警報 - alert(field.outerHTML)以確認您是否指向正確的元素 – 2010-09-20 07:16:08

回答

4

研究這個時候的表示是IE不讓你這樣做。

本文介紹了shoudl做達到類似的效果是什麼:

http://www.universalwebservices.net/web-programming-resources/javascript/change-input-element-type-using-javascript

然而,我們大多數人覺得有必要 臣服於互聯網 瀏覽器的需求。爲了滿足這些需求,我們 必須:

  • 動態創建一個新的元素
  • 舊元素的屬性複製到新元素
  • 設置新元素的類型新型
  • 然後用新的元素

的代碼也由本網站轉載取代舊的元素,所以想我應該讓你訪問我噸爲他們的頁面點擊的好處。

我會感興趣的是,從其他瀏覽器導致問題的IE與IE有什麼不同。

此外,任何人都在意在IE9上試用它?

+1

Man IE很瘋狂! – Jacob 2010-09-20 08:09:42

+0

謝謝,這是訣竅! – corydoras 2010-09-20 22:58:10

+1

不用擔心。你想接受那個:-) – 2010-09-21 07:21:15

1

我不知道爲什麼style.display='none'不起作用。你有沒有試過style.visibility = 'hidden'

+0

否則不起作用! – corydoras 2010-09-20 22:57:42