【发布时间】:2016-03-25 11:25:29
【问题描述】:
我正在使用下面的代码删除p:datatable 中的行。如果在p:commandbutton 标签内使用 onclick 方法,它会刷新整个页面,否则它工作正常。请给我一些解决方案。
<p:commandButton title="Delete Affiliation" immediate="true" process="@this"
update="affiliationList" alt="Delete Affiliation" icon="ui-icon-trash"
action="#{readAuthorDetailsbean.deleteSelectedAffiliation}" style="width:30px"
onclick="return confirm('Are you sure, Do you want to delete this record?');">
<f:setPropertyActionListener value="#{affiliation}"
target="#{readAuthorDetailsbean.selectedAffilliationListAL}" />
</p:commandButton>
【问题讨论】:
-
这个 javascript 或 jquery 有什么关系?您希望我们如何尝试重现?请显示minimal reproducible example。您很可能会从操作中返回一些东西
-
查看完整代码。我添加了 onclick(Java 脚本函数)。当我在删除确认中单击是时,它返回 true。它刷新整个页面。
-
默认情况下,PrimeFaces 将
return false;(由于 ajax)添加到从p:commandButton组件生成的 html 代码中,因此它不会触发表单提交。如果您将confirm()添加到onclick,则在用户单击“确定”后,返回值为true并进行表单提交(正常提交后,而不是ajax - 因此页面刷新)。你可以试试p:confirmDialog。
标签: javascript jsf primefaces