2010-09-20 85 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