我的表单有两个提交按钮 - 一个用于提交,另一个用于更新文档。有一个代理程序在PostSaveDocument事件上运行。在此代理中,有一堆代码发送一些警报,并设置一些文档值,具体取决于它是否是新文档或文档更新。
当用户多次点击该按钮时,例如双击或只是跳过skitzo并点击10次,则会生成该数量的文档。在代码中,它会创建一个参考编号,这个编号在按钮被点击的次数上是连续的 - 所以它排队了它被点击的次数。
我尝试了两种选择:
单击按钮时运行以下代码,但不会阻止多次点击。
var buttonComp = getComponent("button4");
buttonComp.setDisabled(true);
查看了这篇文章http://dontpanic82.blogspot.com.au/2010/06/xpages-avoid-saving-duplicate-documents.html
但是对我来说都不适用。我认为这是因为它没有处理标准提交表单,但我不确定。有什么想法吗?
答案 0 :(得分:2)
我完全赞同Stephan将代理转换为SSJS。
但如果您无法更改该代码,请尝试使用busy button。
答案 1 :(得分:1)
首先:如果可以避免不使用代理。启动代理运行时然后再将其拆除是非常慢的。你可能最好在SSJS中编写代码。其次,您必须在onClick事件中编写禁用代码(或更好的visible = false)(查找客户端代码选项卡)。另一种选择是显示一个带有“处理”的灯箱,覆盖按钮而不会禁用它。