1

ユーザーが [OK] または [キャンセル] ボタンを押した場合にうまく機能するダイアログ ボックスがあります。ただし、エスケープ キーを押すか、[X] をクリックしてダイアログを閉じる場合は、コードを実行する必要があります。onHide および onClose および onUnload イベントにコードを入れてみましたが、役に立ちませんでした。

誰もこれについて何か考えがありますか?

// 部分的なコード リスト . . .

<xe:dialog id="dialogUserCreds"
     title="#{javascript:viewScope.dialogUserCredsTitle;}">
    <xe:this.onHide><![CDATA[
       var url = "/xpVendorApplication.xsp";
       context.redirectToPage(url);]]>
        </xe:this.onHide>
    <xe:this.onClose><![CDATA[
           var url = "/xpVendorApplication.xsp";
           context.redirectToPage(url);]]>
         </xe:this.onClose>
</xe:dialog>
4

1 に答える 1

2

コメントで言及したように、onHide() の CSJS イベントが見つかりました。これはクライアント側の JavaScript のみを受け入れますが、部分的なコード リストは、サーバー側の JavaScript を使用しようとしていることを示しています。

この場合、window.location(url) 呼び出しを使用して CSJS リダイレクトを行う必要があります。

于 2012-08-07T05:16:37.353 に答える