使用html-FORM元素的xPage-Pager控件不起作用

时间:2012-04-19 15:42:28

标签: html forms custom-controls xpages lotus-domino

当我在xpage中添加普通<form>元素时,寻呼机不再工作,意味着我无法切换到其他页面(点击“下一步”或其他内容)。

这是重要的部分:

<xp:pager id="newsPager" for="newsList" pageCount="4" partialRefresh="true">
    //pager stuff.....
</xp:pager>

<form action="#">
    //form stuff... contents not important for my issue, I tested it
</form>

当我完全排除表单时,它可以正常工作

我在Windows 7上使用Domino Designer 8.5.3

“newsList”是重复控制的ID

3 个答案:

答案 0 :(得分:5)

使用表单组件:

,而不是使用passthru表单
<xp:form action="#">
 // form contents
</xp:form>

这样可以防止其他内容被表单标记包围,这也会破坏事件和数据提交,因此您需要以自己的形式包围其余内容:

<xp:form>
 <xp:pager id="newsPager" for="newsList" pageCount="4" partialRefresh="true">
    //pager stuff.....
 </xp:pager>
 <xp:repeat id="newsList">
    //repeat contents
 </xp:repeat>
</xp:form>

注意:不要将嵌套表单互相包含在内;这会混淆浏览器,这就是您当前设计无法正常运行的原因。相反,识别页面的离散部分,可以安全地将其视为单独的表单,并将每个部分包装在自己的表单组件中。

答案 1 :(得分:0)

XPage渲染器会自动向页面添加表单,除非您在Xpage的属性中禁用了此表单。

此表单用于处理所有部分刷新和向后端提交值。当您添加自己的表单标记时,寻呼机(或任何xpage组件)使用的部分刷新不再具有与服务器通信所需的正确信息。

如果您确实需要拥有自己的表单标记,那么我会建议在包含您表单的外部页面中加载iFrame。

答案 2 :(得分:0)