0

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

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

这是它应该如何工作的吗?

我想知道何时按下“返回”键(Javascript 键码 13),所以我不能使用 JavavalueChangeListenertextChangeListener然后在 Java backbean 中管理它,因为该键不会触发这些事件。

有人可以帮我吗?

4

3 回答 3

0

我解决了!!嗯......有人给了我一个解决它的方法。

按下回车键,触发 ice:selectInputText “action”,这样我就可以通过 back bean 中的 java 来管理它了

于 2013-02-27T07:31:32.827 回答
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**
于 2013-11-03T20:33:03.690 回答
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!');
       }
    }
于 2013-02-26T16:42:25.403 回答