Javascript 选中/取消选中richfaces 4中的复选框时显示/隐藏文本框
我在RichFaces4中工作,我有一个要求,那就是有一个复选框&如果有人选中它,布尔值应该存储在支持bean中的布尔变量中,而不提交表单。根据backingbean中该变量的值,应该呈现一个文本框。 编码有点像这样:-Javascript 选中/取消选中richfaces 4中的复选框时显示/隐藏文本框,javascript,xhtml,richfaces,el,Javascript,Xhtml,Richfaces,El,我在RichFaces4中工作,我有一个要求,那就是有一个复选框&如果有人选中它,布尔值应该存储在支持bean中的布尔变量中,而不提交表单。根据backingbean中该变量的值,应该呈现一个文本框。 编码有点像这样:- <h:selectBooleanCheckbox id="test" onclick="jsRender()" onchange="document.getElementById('formName:test').checked == true ? #{bean.setC
<h:selectBooleanCheckbox id="test" onclick="jsRender()" onchange="document.getElementById('formName:test').checked == true ? #{bean.setChecked(true)} : #{bean.setChecked(false)}" />
<a4j:jsFunction name="jsRender" render="@form" />
<h:inputText id="textBox" value="bean.Something" rendered="#{bean.checked}"/>
据我所知,在提交表单之前,checkbox的值不会存储在支持bean中。但由于我需要在表单提交之前对其进行更改,所以我在“onchange”属性中使用了该条件。但问题是,三元条件没有被执行,只有el表达式在执行,所以无论我是“检查”还是“取消检查”,我都会得到一个true和false。我认为语法是错误的。我需要正确语法的帮助
提前感谢:)为了解决这个问题,我使用了如下方法:-
<selectBooleanCheckbox id="test" value="bean.something">
<a4j:ajax event="change" render="div_name" execute="@this">
</selectBooleanCheckbox>
这个解决方案对我很有效。您可以在
a4j:jsFunction
中调用ajax。为此,请使用a4j:jsFunction
的action
属性。提交表单是向服务器获取价值的唯一方法。您还提交了哪些需要“提交前”值的内容。谢谢@Vasil Lukach,我已经解决了这个问题。我刚才用了execute=“@this”
&呈现a4j:ajax
的属性,仅提交特定的s:div
,以便在后台bean中更新值,而不提交整个表单。@Makhiel在用户完成所有表单填充之前,我不想提交许多其他组件和元素必填
字段。这就是为什么我需要一个ajax
调用来提交一个特定的元素。无论如何谢谢:)@Shouvik发布你的答案并接受它。这将表明问题已经得到了回答。