在退格键用法上触发 ssjs
on backspace key usage fire ssjs
在编辑框中的 xpage 上,我想在使用退格键时触发一些 ssjs(设置范围变量,调用托管 bean 中的函数,执行部分刷新)。
在 csjs 中我可以检测到它:
$('html').keyup(function(e){if(e.keyCode == 8)alert('backspace trapped')})
这是 SSJS 怎么办?
您需要使用现有的 CSJS 代码并通过 CSJS 启动部分刷新获取/post。要触发特定的事件处理程序,此代码应该有效 http://xpages.info/XPagesHome.nsf/Entry.xsp?documentId=88065536729EA065852578CB0066ADEC。 SSJS只会在服务器上运行,所以那里没有用户击键的概念,只有发生击键后从浏览器传递的post请求数据。
变成了这样:
<xp:button value="Queue" id="btnQueue" styleClass="btn-primary">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:actionGroup>
<xp:executeScript>
<xp:this.script>
<![CDATA[#{javascript://my action(s) here}]]>
</xp:this.script>
</xp:executeScript>
</xp:actionGroup>
</xp:this.action>
<xp:this.script>
<![CDATA[confirm("Are you sure you want to change from " + XSP.getElementById("#{id:inputFrom}").value +" to " + XSP.getElementById("#{id:inputTo}").value + "?")]]>
</xp:this.script>
</xp:eventHandler>
</xp:button>
在编辑框中的 xpage 上,我想在使用退格键时触发一些 ssjs(设置范围变量,调用托管 bean 中的函数,执行部分刷新)。
在 csjs 中我可以检测到它:
$('html').keyup(function(e){if(e.keyCode == 8)alert('backspace trapped')})
这是 SSJS 怎么办?
您需要使用现有的 CSJS 代码并通过 CSJS 启动部分刷新获取/post。要触发特定的事件处理程序,此代码应该有效 http://xpages.info/XPagesHome.nsf/Entry.xsp?documentId=88065536729EA065852578CB0066ADEC。 SSJS只会在服务器上运行,所以那里没有用户击键的概念,只有发生击键后从浏览器传递的post请求数据。
变成了这样:
<xp:button value="Queue" id="btnQueue" styleClass="btn-primary">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:actionGroup>
<xp:executeScript>
<xp:this.script>
<![CDATA[#{javascript://my action(s) here}]]>
</xp:this.script>
</xp:executeScript>
</xp:actionGroup>
</xp:this.action>
<xp:this.script>
<![CDATA[confirm("Are you sure you want to change from " + XSP.getElementById("#{id:inputFrom}").value +" to " + XSP.getElementById("#{id:inputTo}").value + "?")]]>
</xp:this.script>
</xp:eventHandler>
</xp:button>