我刚刚开始将 xe:applicationLayout 用于应用程序。我在“放置栏”中添加了一个“基本节点”。我想在节点/按钮的单击上运行一些服务器端 JavaScript 代码。我已经尝试计算基本节点的 onClick 属性,但这并没有做任何事情,而且似乎 onClick 只运行客户端 JavaScript。
是否有可以运行 SSJS 的属性或节点?谢谢你的帮助。
我刚刚开始将 xe:applicationLayout 用于应用程序。我在“放置栏”中添加了一个“基本节点”。我想在节点/按钮的单击上运行一些服务器端 JavaScript 代码。我已经尝试计算基本节点的 onClick 属性,但这并没有做任何事情,而且似乎 onClick 只运行客户端 JavaScript。
是否有可以运行 SSJS 的属性或节点?谢谢你的帮助。
设置节点的提交值属性。(应用程序布局中所有位置的过程都是相同的;这是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 ...
不是最好的版本,但它可以工作。将按钮添加到 XPage 并隐藏,然后使用 css。在您的应用程序布局中添加一个客户端脚本,该脚本使用 dojo.byId 获取按钮的句柄并对它们执行 click()。然后,当您单击不同的按钮时,很容易更新不同的面板。