Dojo XPages:如何创建一个回调调用方的对话框

Dojo XPages:如何创建一个回调调用方的对话框,dojo,callback,xpages,lotus-notes,lotus-domino,Dojo,Callback,Xpages,Lotus Notes,Lotus Domino,我有一个带有2个自定义控件的XPage。第一个自定义控件具有重复控件,第二个用作对话框 用户可以通过单击删除链接从重复控件中删除行。然后我使用rowVar.getDocument.getNoteID并删除该文档。 我想先问用户:“你确定要删除它吗?” 我在CSJS中使用了“window.confirm()”,但我不喜欢默认的提示框。所以我使用了dojo对话框,但我不能在其中使用重复控件的rowVar来获取documentId 目前我在对话框的OK按钮中有代码,但我只想使用OK/Cancel按钮作

我有一个带有2个自定义控件的XPage。第一个自定义控件具有重复控件,第二个用作对话框

用户可以通过单击删除链接从重复控件中删除行。然后我使用rowVar.getDocument.getNoteID并删除该文档。 我想先问用户:“你确定要删除它吗?”

我在CSJS中使用了“window.confirm()”,但我不喜欢默认的提示框。所以我使用了dojo对话框,但我不能在其中使用重复控件的rowVar来获取documentId


目前我在对话框的OK按钮中有代码,但我只想使用OK/Cancel按钮作为真/假,并在主自定义控件中执行代码。有没有办法将按钮的值传递回调用者?

我已经用很多方法做到了这一点。基本上,将查找要删除的文档所需的信息写入viewScope变量。然后创建一个独立的事件处理程序,从对话框的“确定”或“取消”按钮调用该处理程序

事件处理程序看起来像杰里米·霍奇的作品:

<xp:eventHandler
    event="onfubar"
    id="eventHandler1"
    submit="false">
    <xp:this.action><![CDATA[#{javascript:
// write the ssjs to save the doc base on viewScope parameters
}]]></xp:this.action>
</xp:eventHandler>
XSP.partialRefreshGet("#{id:eventHandler1}", {
    params : {action :"OK" },
    onComplete : function () {
        // do something else if needed
    },
    onError : function() {
        alert("no soup for you!");
    }
});