代码之家  ›  专栏  ›  技术社区  ›  corydoras

使用javascript隐藏表单中的文本框

  •  4
  • corydoras  · 技术社区  · 14 年前

    隐藏输入文本框的正确方法是什么?以下内容在所有浏览器中都有效,除了 Internet Explorer . 我正在测试IE8。

    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");
    
    2 回复  |  直到 14 年前
        1
  •  4
  •   Mutation Person    14 年前

    调查这件事时的暗示是你不允许这样做。

    这篇文章解释了你应该做些什么来达到类似的效果:

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

    然而,我们大多数人认为这是必要的 满足互联网需求 资源管理器。为了满足这些要求,我们 必须:

    • 动态创建新元素
    • 将旧元素的属性复制到新元素中
    • 将新元素的类型设置为新类型
    • 然后用新元件更换旧元件

    这个网站也复制了这个代码,所以我想我会让你访问它,为他们的网页点击率。

    我会感兴趣的是,IE与其他浏览器有什么不同,导致了这个问题。

    还有,有人想在IE9上试试吗?

        2
  •  1
  •   letronje    14 年前

    我想知道为什么 style.display='none' 不起作用。你试过了吗? style.visibility = 'hidden' ?