我试图使用以下clientSide代码从数据表中的链接调用popupMenu
XSP.openMenu(thisEvent,'{javascript:getComponent("popupMenuNew").getMenuCtor()}');
但是当我点击链接时它只是把我带到同一页面的顶部,我注意到它不会将cleintside代码识别为链接。 它有什么其他方式我可以从XPages链接调用popupMenu?
该链接位于具有一些boostrap表属性的数据表中:
<xp:this.attrs>
<xp:attr name="data-toggle" value="table"></xp:attr>
<xp:attr name="data-show-columns" value="true"></xp:attr>
<xp:attr name="data-mobile-responsive" value="true"></xp:attr>
<xp:attr name="data-check-on-init" value="true"></xp:attr>
</xp:this.attrs>
完整的链接代码:
<xp:link escape="true" id="link1"
title="Create Document">
Neu 
<xp:this.rendered><![CDATA[#{javascript:if (rowDataEntry.isDocument()){
return true;
}
else{
return false;
}}]]></xp:this.rendered>
<xp:image id="image4" url="/actExpand.gif"></xp:image>
<xp:eventHandler event="onclick" submit="false"
id="eventHandler2">
<xp:this.script><![CDATA[var url = XSP.openMenu(thisEvent,'#{javascript:getComponent("popupMenuNew").getMenuCtor()}');
var l = window.location;
if (url != l) {
window.location.replace(url);
}
]]></xp:this.script>
</xp:eventHandler>
</xp:link>
答案 0 :(得分:1)
XSP.openMenu()不需要重新加载页面,所以请尝试这样做:
<xp:link escape="true" id="link1" title="Create Document">
Neu 
<xp:this.rendered>
<![CDATA[#{javascript:
if (rowDataEntry.isDocument()){
return true;
} else {
return false;
}
}]]>
</xp:this.rendered>
<xp:image id="image4" url="/actExpand.gif"></xp:image>
<xp:eventHandler event="onclick" submit="false" id="eventHandler2">
<xp:this.script>
<![CDATA[XSP.openMenu(thisEvent,'#{javascript:getComponent("popupMenuNew").getMenuCtor()}');]]>
</xp:this.script>
</xp:eventHandler>
</xp:link>