我有一个值列表,来自我想检查的值列表中的一些值意味着相应的文本框将显示在底部。否则文本框将被隐藏。我已经使用 javascript 完成了这个过程。但我的问题是我必须使用 required=true 属性进行验证。但问题是隐藏的文本框也得到了验证。
列表值的 Primefaces 页面:
<p:selectManyCheckbox onchange="checkValue();" value="#{volunteerBean.knowAbt}" layout="pageDirection" id="s" immediate="true" required="true" requiredMessage="Select how to konws about cv?" style="width:300px;height:170px;">
<f:selectItems value="#{volunteerBean.hearLst}" var="he" itemLabel="#{he}" itemValue="#{he}" />
<p:ajax event="change" update="msg1111" />
</p:selectManyCheckbox>
输入文本框编码:
<p:inputText style="display:none;" id="searchEngine" value="#{volunteerBean.searchEngine}"><p:watermark for="searchEngine" value="Search Engine"/>
通过检查复选框列表来隐藏和显示 inputText 的 JavaScript:
function checkValue() {
var chk = document.getElementById("volunteerForm:s:10");
if (chk1.checked) {
document.getElementById('volunteerForm:searchEngine').style.display='';
}else {
document.getElementById('volunteerForm:searchEngine').style.display='none';
}
}
我正在使用 primefaces 3.0 和 jsf 2.0。如何解决