1

我刚刚开始将 xe:applicationLayout 用于应用程序。我在“放置栏”中添加了一个“基本节点”。我想在节点/按钮的单击上运行一些服务器端 JavaScript 代码。我已经尝试计算基本节点的 onClick 属性,但这并没有做任何事情,而且似乎 onClick 只运行客户端 JavaScript。

是否有可以运行 SSJS 的属性或节点?谢谢你的帮助。

4

2 回答 2

2

设置节点的提交值属性。(应用程序布局中所有位置的过程都是相同的;这是banner.ApplicationLinks 的示例片段)

    <xe:this.bannerApplicationLinks>
                <xe:basicContainerNode styleClass="firstApplication" label="${langString_CRM['CREATE']}">
                    <xe:this.children>
                        <xe:basicLeafNode submitValue="company_new"

然后将事件处理程序添加到您的页面并根据提交的值运行您的 SSJS

        <xp:eventHandler event="onItemClick" submit="true"
        refreshMode="partial" disableValidators="true" refreshId="cois_application_layout"
        execMode="partial">
        <xp:this.action><![CDATA[#{javascript:          
        var submittedValue=context.getSubmittedValue();
// evaluate the submitted value here ...
于 2012-09-27T04:53:00.807 回答
1

不是最好的版本,但它可以工作。将按钮添加到 XPage 并隐藏,然后使用 css。在您的应用程序布局中添加一个客户端脚本,该脚本使用 dojo.byId 获取按钮的句柄并对它们执行 click()。然后,当您单击不同的按钮时,很容易更新不同的面板。

于 2012-09-27T11:38:58.830 回答