[英]How to submit JSF PrimeFaces form with selectBooleanCheckbox without refreshing the page?
我将JSF与PrimeFaces结合使用,以进行大学作业。 我正在努力工作。 我正在使用PrimeFaces,并且有一个Tabview,其中包含5个选项卡。 在这些标签之一中,我有一个dataTable,其中有几行和几列。 一切正常,但问题是我想提交表单而不重新呈现(整个页面)。 事实是,dataTable中的每一列都有一个selectBooleanCheckbox,并且当选中该复选框时,按钮应该消失。 如果未选中,则应显示按钮。 可以在onchange =“ this.form.submit()”或onclick =“ this.form.submit()”上正常工作,但它会刷新整个应用程序,并导致第一个选项卡被选中,而不是我之前选择的选项卡在。 因此,我正在寻找一种解决方案,以能够提交和重新呈现某些内容而无需刷新整个程序。 这是我的代码:
<body>
<h:form id="customerForm">
<p:dataTable id="customerlist" var="c" value="#{customerBean.customerList}">
<p:column>
<f:facet name="header">Select</f:facet>
<center>
<p:selectBooleanCheckbox value="#{c.selected}" onchange="this.form.submit()"/>
</center>
</p:column>
</p:dataTable>
<h:commandButton id="testtest" value="test" rendered="#{customerBean.numberSelected() == 0}"/>
</h:form>
</body>
为了简单起见,我删除了大多数列。 有什么解决方案? 我已经尝试过使用Ajax,但这没用
<p:selectBooleanCheckbox value="#{c.selected}">
<f:ajax event="click" execute="@form" render="@none"/>
</p:selectBooleanCheckbox>
您真的需要提交整个表格吗? 如果足以重新渲染视图,请尝试仅更新表单。 为此,您可以使用primefaces ajax事件。
<p:selectBooleanCheckbox value="#{c.selected}">
<p:ajax update="@form"/>
</p:selectBooleanCheckbox>
如果这不起作用,请告诉我们“ ..ajax,不起作用”的确切含义。 是否提交了任何POST请求? 有人叫“行动/设定者”吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.