使用p:commandButton刷新意外的整页

时间:2016-03-25 11:25:29

标签: javascript jsf primefaces

我使用下面的代码删除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>

1 个答案:

答案 0 :(得分:3)

如果您将onclick属性改为
if (!confirm('Are you sure, Do you want to delete this record?')) return false;
然后它应该按预期工作。它的作用是:

  • 如果用户确认它没有返回值,PrimeFaces可以进一步处理AJAX请求
  • 如果用户取消确认,则返回的值为false,并且中止进一步处理。

如果您只是return confirm('Are you sure?')并且用户确定,则返回的true值会取消在return false属性末尾添加的onclick的PrimeFaces(它为ajax执行此操作) )而不是ajax请求,你看到正常的帖子提交(页面重新加载) return false cancels default behavior of html elements