1

我需要根据 javascript 测试条件是否为真在网页上显示一个 jsf h:inputText 组件。我怎样才能做到这一点?

4

2 回答 2

2

只需让 JSF 使用display最初设置为的 CSS 属性渲染它,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属性。

于 2012-04-26T14:58:11.350 回答
0

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

于 2012-04-26T14:56:54.673 回答