在退格键用法上触发 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>