我需要在网页上显示一个jsf h:inputText组件,具体取决于javascript测试条件是否为真。我怎么能这样做?
答案 0 :(得分:2)
让JSF使用最初设置为display
的CSS none
属性呈现它,并使用JavaScript将其切换为block
。
E.g。
<h:inputText id="inputId" styleClass="hide" />
使用此CSS
.hide {
display: none;
}
和这个JS
if (someCondition) {
document.getElementById("formId:inputId").style.display = "block";
}
您只会在输入处理和转换/验证方面遇到问题。此输入字段始终提交给服务器,即使仍然被CSS隐藏。更好的方法是在JSF中评估该条件,以便您可以使用JSF组件的rendered
属性。
答案 1 :(得分:0)
您可以根据您的javascript条件将其隐藏在页面上。像$('.class-of-input').hide();