【问题标题】:jsf h:inputText component appear based on javascript?jsf h:inputText 组件出现基于javascript?
【发布时间】:2012-04-26 14:51:39
【问题描述】:

我需要一个 jsf h:inputText 组件根据 javascript 测试条件是否为真出现在网页上。我该怎么做?

【问题讨论】:

    标签: javascript jsf components


    【解决方案1】:

    让 JSF 渲染它,CSS display 属性最初设置为 none,并让 JavaScript 将其切换为 block

    例如

    <h:inputText id="inputId" styleClass="hide" />
    

    使用这个 CSS

    .hide {
        display: none;
    }
    

    还有这个 JS

    if (someCondition) {
        document.getElementById("formId:inputId").style.display = "block";
    }
    

    您只会在输入处理和转换/验证方面遇到问题。此输入字段始终提交给服务器,即使仍被 CSS 隐藏。更好的是在 JSF 中评估该条件,以便您可以使用 JSF 组件的 rendered 属性。

    【讨论】:

    • 一旦组件可见,如何再次隐藏它? .style = "隐藏"
    【解决方案2】:

    您可以根据您的 javascript 条件将其隐藏在页面上。类似$('.class-of-input').hide();

    【讨论】:

      猜你喜欢
      • 2013-04-10
      • 2011-02-24
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 2016-12-31
      • 2011-05-07
      • 2013-11-23
      相关资源
      最近更新 更多