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

时间:2016-04-07 08:50:16

标签: xpages ssjs

我在按钮后面有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>

Code view behind the button

1 个答案:

答案 0 :(得分:1)

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

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