【问题标题】:How to add confirmation check for a button which is calling a remoteCommand如何为调用 remoteCommand 的按钮添加确认检查
【发布时间】:2021-07-06 04:46:22
【问题描述】:

我在 primefaces 中有一个情况,我有一个按钮,单击该按钮通过 java 脚本调用远程命令作为回调,该远程命令负责执行保存操作。我想根据一些控制器值向保存按钮添加确认。因此,如果该值为 true,则单击预期的输出我想显示确认对话框,否则我只想进行正常保存。

我对 primefaces 真的很陌生。任何帮助将不胜感激。

<p:remoteCommand name="save" actionListener="#{controller.save()}" oncomplete="PF('statusDialog').hide()"/>

<p:button value="Save" styleClass="btn-primary btn-save" onclick="PF('statusDialog').show(); Modeler.saveBpmnToForm(save)" />

【问题讨论】:

  • 您是否尝试过使用 Primefaces 的经典确认面板? primefaces.org:8080/showcase/ui/overlay/… 如果这可以帮助你,你应该禁用它并启用它来评估你的布尔条件
  • 嗨@SimoneLungarella,经典的确认剂量似乎对我有用,我们还有其他方法吗..?
  • 我展示了另一种方法作为对这篇文章的回答

标签: jsf primefaces


【解决方案1】:

当您触发remote command 时,您可以重定向操作以显示实际的确认对话框,然后您可以从那里将该操作与“确认”按钮相关联。以下逻辑仅在您的布尔变量为true 时才显示对话框,否则您执行save 操作而不显示任何对话框。

<p:remoteCommand name="save" actionListener="#{controller.status ? 
controller.showDialog : controller.save}" oncomplete="PF('statusDialog').hide()"/>

每当触发此 remoteCommand 时,您将使用 bean 显示以下对话框:

<p:dialog id="confirmDialog" >
    <p:button value="Confirm" styleClass="btn-primary btn-save" 
    onclick="PF('statusDialog').show()" action="#{controller.save}"/>
    
    <p:button value="Cancel" styleClass="btn-primary btn-cancel" 
    onclick="PF('confirmDialog').hide()"/>
</p:dialog>

“确认”按钮将执行实际的逻辑,“取消”应该只关闭对话框,但这取决于您。

【讨论】:

    猜你喜欢
    • 2022-01-04
    • 2020-10-03
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多