1

如果用户按下“确定”或“取消”按钮,我有一个很好用的对话框。但是,如果他们按下 Escape 键或单击 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 回答