JavaScript事件onkeyXXX在icefaces 1.8.2上不起作用ice:selectinputtext

问题描述 投票:0回答:3

我有一个JSF + icefaces 1.8.2应用程序,其中有一个“ ice:selectInputText”。

我只想添加以下Javascript事件之一:onkeydown,onkeypress或onkeyup。但是,它们不起作用。它们什么也不做,当它们在浏览器中呈现时,它们甚至不在Web的HTML代码中。

这是应该如何工作的?

我想知道何时按下“ return”键(Javascript键码13),所以我不能使用Java valueChangeListenertextChangeListener,然后在Java backbean中对其进行管理,因为该键不会触发那些事件。

有人可以帮我吗?

javascript java jsf dom-events icefaces
3个回答
0
投票

应该工作:

HTML:

<ice:selectInputText
<!-- your stuff -->
onkeypress="check(event);"
</ice:selectInputText>

JavaScript的:

   function check(e) {

       var key;
       if(!window.event) {
           key = e.which;
       } else {
          key = window.event.keyCode;
       }

       if(key == 13) {
          alert('enter!');
       }
    }

0
投票

我解决了!!好吧……有人给我解决的方法。

按回车键,会触发ice:selectInputText“ action”,这样我就可以通过Back bean中的java对其进行管理了


0
投票

我从您的问题描述中假设,标记id是js函数的参数。在这种情况下,我一直在同一个问题作斗争。

就我而言,我希望自定义脚本限制用户输入。输出HTML时,Icefaces会更改标签的ID。它将包含形式的id作为前缀附加到标签id上,对于ace:textEntry标签'_ input'作为后缀附加。因此,我的ace:textEntry标记的ID变为'customer-edit-form:company-name-text_input'。要解决此问题,请使用this.id

工作标签的标记:

<ice:form id="customer-edit-form">
    <ace:textEntry styleClass = "edit-textbox" 
        id="company-name-text1" 
        label="Company"
        labelPosition="left" 
        onkeyup="limitLengthByID(this.id, '4'); "
        value="#{customerManagerBean.companyName}">
    </ace:textEntry>
</ice:form>**strong text**
© www.soinside.com 2019 - 2024. All rights reserved.