我有一个包含2个自定义控件的XPage。第一个自定义控件具有重复控件,第二个用作对话框。
用户可以通过单击删除链接从重复控件中删除一行。然后我使用rowVar.getDocument.getNoteID并删除文档。 我想要的是先询问用户:“你确定要删除吗?”
我在CSJS中使用了“window.confirm()”,但我不喜欢默认的提示框。那么我使用了dojo对话框,但是我不能在其中使用rowVar的重复控制来获取documentId。
目前我在对话框的OK按钮中有代码但我想仅使用OK / Cancel按钮作为true / false并执行主自定义控件中的代码。有没有办法将按钮的值传递给调用者?
答案 0 :(得分:2)
我在很多方面做到了这一点。基本上,将查找要删除的文档所需的信息写入viewScope变量。然后创建一个独立的事件处理程序,该处理程序从对话框的“确定”或“取消”按钮调用。
所以eventHandler看起来像Jeremey Hodge的这个post:
<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>
然后对话框按钮看起来像这样(基于Mastering XPages书和许多其他来源):
XSP.partialRefreshGet("#{id:eventHandler1}", {
params : {action :"OK" },
onComplete : function () {
// do something else if needed
},
onError : function() {
alert("no soup for you!");
}
});