我在我的一个Xpages应用程序中使用JQuery Mobile Framework。
我创建了一个带有一些条目的listView,并希望在单击其中一个条目时显示相应的文档。我有一个带有两个JQM页面的XPage。
oyu知道如何在XPage中实现这一点吗?我知道有一些JQuery mobile插件可以在页面之间添加参数功能,但我的主要问题是没有服务器端事件被触发,因此我可以刷新页面并传递我的documentID
这些是我之前尝试的一些事情:
有没有人有在XPage中使用JQM Framework的经验?我无法想象没有办法让这个工作起作用。
提前致谢。
答案 0 :(得分:0)
我为视图和文档使用了单独的XPages。
<div data-role="page" id="main">
<div data-role="header">
<h1>Contacts</h1>
</div>
<div data-role="content">
<ul data-role="listview" data-inset="true" data-filter="true">
<xp:repeat id="contactRepeat" rows="30" value="#{contactsView}" var="dataRow" disableOutputTag="true">
<li>
<xp:link escape="true" id="link1">
<xp:this.value><![CDATA[#{javascript:return "m_ContactDetails.xsp?action=OpenDocument&documentId=" + dataRow.getDocument().getUniversalID();}]]></xp:this.value>
<xp:this.text><![CDATA[#{javascript:return dataRow.getColumnValue("Name");}]]></xp:this.text>
</xp:link>
</li>
</xp:repeat>
</ul>
</div>
虽然我确信您可以将视图和表单放在同一个XPage上(这是我在扩展库中学习的方法),但我认为单独的XPage运行良好,我知道它允许我传递参数。
在我的扩展库一中,它打开的链接专注于XPage的文档部分并选择一个特定的文档:
http://dominodev.mydomain.com/djn/Test.nsf/m_milestoneList.xsp#milestoneDetails&databaseName=DominoDev/MyDomain!!DJN\Test.nsf&documentId=5DDB32855213FC0485257B2D00730253&action=editDocument
所以,我想如果您设置数据视图中的链接以使用#pageName和&amp; documentId =它可能会起作用.....
答案 1 :(得分:0)
我能解决问题,虽然有点奇怪。我的同事不得不禁用dojo,因为如果没有关闭它就无法正确呈现UI。 我已经在我的页面中再次激活了dojo,链接现在完全正常工作没有问题,这意味着我可以使用我想要的参数打开另一个XPage。
答案 2 :(得分:0)
我的同事不得不禁用dojo,因为UI没有呈现 正确无需关闭
是的,但我似乎只是在带有dojo 1.8的ND 9上遇到的问题。 这位美国嫌疑人刚刚开始发表关于这个问题的博客:) http://notesin9.com/index.php/2013/04/20/jquery-mobile-seems-incompatible-with-xpages-in-domino-9-0/
到目前为止,它适用于8.5.1 - 8.5.2。需要在8.5.3上进行测试,但认为它只与ND 9 / Dojo 1.8相关
我已经尝试过使用不同的JQM命名空间(data-bcc-role而不是data-role)但问题仍然存在。所以恕我直言,它必须是不同的东西。 即使是使用jQuery的noConflict()也无济于事。
答案 3 :(得分:0)
在第16行的jQuery Mobile版本1.3.1中是问题所在。我不确定 真正的问题是什么,但如果你将第13行更改为23
(function(root,doc,factory){if(typeof define ===“function”) &安培;&安培; define.amd){// AMD。注册为匿名模块。定义([ “jquery”],function($){factory($,root,doc);返回$ .mobile; }); } else {//浏览器全局工厂(root.jQuery,root,doc); }
到
(function(root,doc,factory){//浏览器全局工厂( root.jQuery,root,doc); }
每件事都会奏效
经过测试并且有效