我有一个JSF + icefaces 1.8.2应用程序,它有一个“ice:selectInputText”。
我想只添加以下javascript事件之一:onkeydown,onkeypress或onkeyup。 但是它们不起作用。 它们什么都不做,当它在浏览器中呈现时,它们甚至不在Web的HTML代码中。
它应该如何运作?
我想知道何时按下“return”键(javascript keycode 13),所以我不能使用java“valueChangeListener”或“textChangeListener”然后在java backbean中管理它,因为这个键不会触发那些事件
有人可以帮帮我吗?
提前致谢!
答案 0 :(得分: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!');
}
}
答案 1 :(得分:0)
我解决了!!嗯......有人给了我解决方法。
按下返回键,触发冰:selectInputText“action”,然后我可以通过后面的bean中的java来管理它
答案 2 :(得分: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**