当用户退出xe:对话框时捕获

时间:2014-09-18 17:08:07

标签: dialog xpages xpages-extlib

当用户退出xe:对话框时,我需要进行一些清理。我将代码放在onUnload事件中,如下所示:

viewScope.remove("vsSomeVariable");
viewScope.remove("vsAnotherVariable");
etc;

但是当用户点击" X"在对话框上,此代码不会执行。我在我的代码中向控制台语句添加了一些打印,并且当我认为它应该时,onUnload不会触发。看起来序列是onLoad,然后是onUnload,然后用户做了他们的事情,如果他们点击" X" onUnload似乎没有执行。有没有办法禁用" X"在xe:对话框中,我可以创建一个"退出"按钮将执行我想要的操作,或者点击" X"这样我可以做清理过程吗?

1 个答案:

答案 0 :(得分:4)

将您的SSJS代码添加到xe:对话框的onHideonUnload事件:

<xe:dialog id="dialog1">
   <xe:this.onHide><![CDATA[#{javascript:print("onHide")}]]></xe:this.onHide>
   <xe:this.onUnload><![CDATA[#{javascript:print("onUnload")}]]></xe:this.onUnload>

但是,请确保将代码放入所有属性

enter image description here

不参加活动

enter image description here