我问这只是为了清楚:我意外地将createForm属性设置为false。然后,我期待一个链接事件,应该打开另一个页面,但不能再运行。 这是SSJS事件的预期行为,例如在禁用表单创建的链接中?Xpage,createForm = false会禁用链接上的SSJS事件?
2
A
回答
8
根据提及,所有事件都需要一个表单:如果它们是全刷新的,那么该页面需要一个表单来发布以触发重定向;如果它们是部分刷新,则表单将确定AJAX POST的内容。
XPages运行时包含对表单组件的支持,但它不包含在组件调色板中(并且不能通过设计器首选项添加它),因此将其添加到页面的唯一方法是编辑源XML直。例如:
<xp:form>
<xp:link id="exampleLink" text="Example Text">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:// event code}]]></xp:this.action>
</xp:eventHandler>
</xp:link>
</xp:form>
有(至少)两个原因,这部分是有用的:
- 它可以提高性能。如果页面包含功能不同的不同区域 - 换句话说,页面的一部分中的事件不需要知道页面的任何其他部分中的数据 - 然后将每个部分以单独的形式组件会导致每个事件只发布与触发事件的组件相同的窗体中包含的数据。您的问题表明,当您将
createForm
设置为false
时,打破的链接应将用户导航到另一个页面;因此,很可能此事件不需要知道任何字段值,因为用户仍然会离开当前页面。如果是这样,请将此链接以自己的形式包装起来,并将所有字段包装在单独的表单中,并且链接的执行速度要稍微快一些,因为浏览器不必发布任何字段数据......链接本身的标识符。 - 它可以提供风格的灵活性。开发人员通常会从实际的最终用户需求中接收不熟悉Domino的设计者的预定CSS - 例如,如果网站设计是外包的,或者必须遵守企业风格指南。当设计师做出某些假设时,这往往成为紧张的根源,乍看之下,它与Domino生成的标记不兼容。其中一个最常见的例子就是当网站包含搜索功能时,因为大多数网页开发者将有一种搜索形式和一个单独的其他领域的兄弟形式。当设计人员或开发人员不得不修改样式表时,这可能会增加项目的成本,而设计师已经开发了一个样式表来说明围绕所有内容的单个表单标签。简而言之,抑制默认的表单元素并在需要的地方明确指定表单组件,可以更容易地遵守外部施加的样式指导。
所以有很多使用情况下,它实际上是最好的一个XPage使用一个或多个表单组件......只记得所有的数据和事件必须是一个形式里面 - 默认的形式是否通常包围所有内容或手动包含的表单组件 - 而且这些表单不能嵌套。您可以添加尽可能多的表单组件,但它们必须是兄弟姐妹。没有任何表单可以包含其他表单
3
是的,因为你正在做HTTP POST请求,他们需要一个表单。
您可以将POST请求链接转换为GET请求链接,而不是被移除SSJS事件,并创建一个“基本”的链接,而不是:
<xp:link escape="true" text="Link" id="link2" value="/somepage.xsp"></xp:link>
但是如果你需要的SSJS逻辑,那么你还需要有一个表格。
+0
好点,谢谢您的评论 – 2013-04-07 11:38:20
相关问题
- 1. Lotus Notes Xpage,如何在SSJS中获取事件句柄(onKeyPress)?
- 2. Xpage扩展库中的SSJS日历
- 3. 链接上的onfocus事件
- 4. 禁用点击事件的除了链接内的所有链接
- 5. 当您打开一个链接时触发SSJS
- 6. 在jxbrowser上使用链接事件
- 7. 禁用链接
- 8. XPages - SSJS调用bean
- 9. 禁用指针事件的链接,但保持活动:悬停事件
- 10. 禁用移动设备上的链接
- 11. 日历上的链接标记事件
- 12. 如何从xpage链接打开文档?
- 13. 当url链接点击时,android禁用onclick事件
- 14. GWT:如何在单击时禁用锚链接事件
- 15. 单击链接时是否应禁用悬停事件?
- 16. 锚链接禁用
- 17. 禁用超链接
- 18. 如何从使用SSJS的xpage中的文档获取所有字段名称?
- 19. Chrome中的xpage邮件链接显示@ as%40
- 20. 当页面上已经禁用链接
- 21. 在MediaWiki上禁用“红色链接”
- 22. LongListSelector链接事件
- 23. 禁用LinkButton不会禁用javascript中的单击事件
- 24. 禁用链接的onbeforeunload
- 25. 禁用WordPress的短链接
- 26. jQuery .click()事件不会在使用.load()创建的链接上触发
- 27. 链接上的Google Analytics事件跟踪是否会减慢用户体验?
- 28. MySQL中的链接事件
- 29. 链接事件的切换()
- 30. “taphold”事件禁用上的文本框
谢谢蒂姆,非常详细的解释! – 2013-04-07 11:38:01
我也在我的复杂样本上测试了它 - 它的工作原理! – 2013-04-07 12:18:08
我已经阅读过有关'xp:form'的一些关于StackOverflow本身的内容,但直到现在才知道它的实用性。谢谢蒂姆! – Naveen 2013-04-08 12:23:38