在confirmdialog结果之前调用Commandlink操作

时间:2014-04-07 12:19:49

标签: jsf-2 primefaces

我是Primefaces的新手。我的问题是

我有一个p:commandlink,我在其中调用了一个确认对话框。

但问题是,即使在确认对话框中单击(是/否)之前,commandlink中的action属性也会被触发。但期望是基于确认对话框触发操作。非常感谢任何帮助。

我的代码段:

<p:commandLink  value="Lock" disabled="#{bean.disableLock}" action="#{bean.lockdevice("hi" , 0)}" onclick="confirmation1.show();" type="button"  ajax="false" />
<p:confirmDialog message="Are you Sure ?"  header="Confirmation"  showEffect="fade" hideEffect="explode"  widgetVar="confirmation1"  appendTo="@(body)">
<p:commandButton value="Yes" type="button" onclick="confirmation1.hide()"/>
<p:commandButton value="No" type="button" onclick="confirmation1.hide()"/>
</p:confirmDialog>

先谢谢。

1 个答案:

答案 0 :(得分:0)

您必须将操作置于“是”按钮:

<p:commandLink  value="Lock" disabled="#{bean.disableLock}" onclick="confirmation1.show();" type="button"  ajax="false" />
<p:confirmDialog message="Are you Sure ?"  header="Confirmation"  showEffect="fade" hideEffect="explode"  widgetVar="confirmation1"  appendTo="@(body)">
  <p:commandButton value="Yes" type="button" onclick="confirmation1.hide()" action="#{bean.lockdevice("hi" , 0)}"/>
  <p:commandButton value="No" type="button" onclick="confirmation1.hide()"/>
</p:confirmDialog>

或使用p:confirm

<p:commandLink  value="Lock" disabled="#{bean.disableLock}" action="#{bean.lockdevice("hi" , 0)}" onclick="confirmation1.show();" type="button"  ajax="false">
  <p:confirm header="Confirmation" message="Are you sure?" icon="ui-icon-alert"/>
</p:commandLink>

查看showcase