1

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>

このコードは正常に機能しますが、削除アクションを呼び出す前に確認ダイアログが必要です。oneventを試しましたが、begin、success、completeイベントしかありません。必要なのは、「begin」イベントの前に確認ダイアログです。

何か案が?

前もって感謝します。

4

1 に答える 1

4

ajax が開始される前に、それをキャンセルすることも (ajax)、またはそれ自体で使用onclick="return false"して送信アクション自体をキャンセルすることもでき<h:commandButtonます...

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 確認ダイアログが true/false を返さないJSF で jQuery ダイアログを使用する

于 2012-12-10T08:11:16.200 に答える