我有一个JSF + icefaces 1.8.2应用程序,其中有一个“ ice:selectInputText”。
我只想添加以下Javascript事件之一:onkeydown,onkeypress或onkeyup。但是,它们不起作用。它们什么也不做,当它们在浏览器中呈现时,它们甚至不在Web的HTML代码中。
这是应该如何工作的?
我想知道何时按下“ return”键(Javascript键码13),所以我不能使用Java valueChangeListener
或textChangeListener
,然后在Java backbean中对其进行管理,因为该键不会触发那些事件。
有人可以帮我吗?
应该工作:
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!');
}
}
我解决了!!好吧……有人给我解决的方法。
按回车键,会触发ice:selectInputText“ action”,这样我就可以通过Back bean中的java对其进行管理了
我从您的问题描述中假设,标记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**