JSF f:在任何操作之前提示ajax

时间:2012-12-10 08:03:57

标签: ajax jsf

如何在任何f:ajax操作之前显示对话框。 我的代码如下:

    <h:commandButton  value="Create Project" styleClass="greyishBtn submitForm" action="#{projectController.delete}">
          <f:ajax execute="@form"  onevent="function(data) {createProjectEventHandler(data);}" render=":tblProject txtNewProjectName txtNewProjectStartDate taNewProjectDesc"/>
    </h:commandButton>

此代码工作正常,但我需要在调用删除操作之前进行确认对话,我尝试了一次,但它只有开始,成功和完成事件,我需要的是在'begin'事件之前确认对话框。

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:4)

在ajax开始之前,您可以使用onclick="return false"本身中的<h:commandButton取消它(ajax)或提交操作本身......

这是使用confirm("Delete?")

的js onclick对话框的最简单方法
<h:commandButton  onclick="return confirm('Delete?');" value="Create Project" styleClass="greyishBtn submitForm" action="#{projectController.delete}">
    <f:ajax execute="@form"  onevent="function(data) {createProjectEventHandler(data);}" render=":tblProject txtNewProjectName txtNewProjectStartDate taNewProjectDesc"/>
</h:commandButton>

可以在这里找到更高级的方法jQuery UI confirm dialog not returns true/false它使用jQuery对话框和JSF