xPages - 寻呼机 onClick 事件问题

Posted

技术标签:

【中文标题】xPages - 寻呼机 onClick 事件问题【英文标题】:xPages - Pager onClick Event issue 【发布时间】:2014-06-06 15:22:10 【问题描述】:

我正在尝试在数据视图中的寻呼机上放置一个 onClick 事件。我希望 onClick 事件更新 sessionScope 变量。我已经添加了代码并对其进行了测试,但我无法让它工作。我制作了一个测试按钮并使用相同的 onClick 事件进行设置,并且变量已正确更新。

现在,如果我单击分页器,它可以正常工作并通过 dataView 进行分页。但是,它不会更新 sessionScope 变量。有什么想法可能导致这种情况吗?

<xp:pager partialRefresh="true" id="pager8" xp:key="pagerBottomLeft"
                            styleClass="mblFooterLeft">
     <xp:this.rendered><![CDATA[#javascript:isPagerDisplayed();
]]></xp:this.rendered>

    <xp:pagerControl id="pagerControl2" type="Previous">

        <xp:eventHandler event="onclick" submit="true"
                 refreshMode="partial" refreshId="testLabel">
            <xp:this.action><![CDATA[#javascript:incPagerDisplay(); 
                     sessionScope.pagerDisplay++;]]></xp:this.action>
        </xp:eventHandler>

    </xp:pagerControl>
</xp:pager>

任何帮助将不胜感激。

【问题讨论】:

我不确定这是您的代码的问题。似乎事件不会从 xp:pagerControl (reference link) 触发(客户端或服务器)。 【参考方案1】:

当您要求对 sessionScope 的变量进行 onClick 事件更新时,从您的代码看来,您的最终尝试是保存用户所在的页面状态,所以他们可以导航离开/返回并从 sessionScope 变量中保留它。假设这就是你想要做的所有事情,我建议你查看并使用xe:pagerSaveState control。

Brad Balassaitis 写了a blog post 将它与数据视图一起使用,这可能会对您有所帮助。 Oliver Busse 稍微调整了实现,demonstrates with his OSnippet;对 SSJS 调用的按摩。

这里是Oliver's snippet:

<xe:pagerSaveState id="pagerSaveState1" refreshId="theView" partialRefresh="true">
</xe:pagerSaveState>

<xp:this.beforePageLoad><![CDATA[#javascript:viewStateBean.restoreState = true;]]></xp:this.beforePageLoad>

【讨论】:

@user3641366 尝试使用寻呼机保存状态控制是否成功?

以上是关于xPages - 寻呼机 onClick 事件问题的主要内容,如果未能解决你的问题,请参考以下文章

引导寻呼机 onclick 事件

XPages:如何计算分页视图面板行数

Xpages-如何在没有人工交互的情况下自动切换到下一页?

GWT SimplePager - 获取不正确的寻呼机索引 onclick 的 LastButton

一段时间后,点击事件就会丢失

PagerAdapter onclick 方法