按钮后面的 SSJS 代码在页面刷新后运行

SSJS Codes behind the button runs after page is refreshed

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

当我单击按钮时,它工作正常,但我查看 Domino Admin 控制台,我意识到按钮后面的代码工作了两次。我想当页面刷新时它再次工作?我该如何预防? 我想念的是什么?

<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>

beforePageLoadafterPageLoad 等事件中添加打印语句以确认它在哪里 运行。此外,值得使用 XPages OpenLog Logger 或其他可以输出完整堆栈跟踪的日志记录框架。这可能会识别代码是否在刷新中 运行 两次,以及来自何处。

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