-1

我在按钮后面有 SSJS 代码。当我单击该代码在另一个数据库中创建文档的按钮时。

当我单击按钮它工作正常但我查看 Domino Admin COnsole 我意识到按钮背后的代码工作两次.. 我认为当页面刷新时它再次工作?我该如何预防?我想念什么?

<xp:button value="Label" id="button1">

    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:print("Before createNewDoc()");
createNewDoc();
print("After createNewDoc()");
}]]></xp:this.action>
    </xp:eventHandler></xp:button>

按钮后面的代码视图

4

1 回答 1

1

将打印语句添加到beforePageLoad,afterPageLoad等事件以确认它在哪里运行。此外,值得使用 XPages OpenLog Logger 或其他可以输出完整堆栈跟踪的日志框架。这可能会确定代码是否在刷新中运行了两次,以及从哪里运行。

没有理由代码应该从按钮运行两次。我假设这是脚本库中的一个 SSJS 函数,也许是其他东西触发了它。

于 2016-04-07T10:22:15.193 回答