Xpages中的JQuery Mobile,传递参数

时间:2013-04-17 10:48:19

标签: javascript jquery jquery-mobile xpages

我在我的一个Xpages应用程序中使用JQuery Mobile Framework。

我创建了一个带有一些条目的listView,并希望在单击其中一个条目时显示相应的文档。我有一个带有两个JQM页面的XPage。

oyu知道如何在XPage中实现这一点吗?我知道有一些JQuery mobile插件可以在页面之间添加参数功能,但我的主要问题是没有服务器端事件被触发,因此我可以刷新页面并传递我的documentID

这些是我之前尝试的一些事情:

  • 在我的条目周围包裹div并尝试触发服务器端事件 - >没有事件
  • 使用<'a>标准元素(更改页面,但没有给出参数,例如通过url
  • 尝试在单击链接时触发XSP.partialRefreshGet,因为必须停用dojo以便JQM可以正常工作而无法正常工作
  • 尝试填充隐藏的输入以传递参数,没用,我需要一个服务器端事件
  • 试图在点击条目打开文档时打开一个新的XPage,无法正常工作,无法找到xpage,或者收到无法找到XSP的错误。
  • 此时我还记得更多的事情

有没有人有在XPage中使用JQM Framework的经验?我无法想象没有办法让这个工作起作用。

提前致谢。

4 个答案:

答案 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)

根据http://notesin9.com/index.php/2013/04/20/jquery-mobile-seems-incompatible-with-xpages-in-domino-9-0/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+NotesIn9+%28Notes+In+9+-+Wordpress%29

中的评论
  

在第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); }

     

每件事都会奏效

经过测试并且有效