我有一个JSF+icefaces 1.8.2应用程序,它有一个"ice:selectInputText"。
我只想添加以下Javascript事件之一:onkeydown、onkeypress或onkeyup。然而,它们不起作用。它们什么都不做,甚至在浏览器中呈现时都不在网页的HTML代码中。
它应该是这样工作的吗?
我想知道什么时候按下"return"键(Javascript keycode 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",这样我就可以在backbean 中通过java来管理它
根据您的问题描述,我假设标记id是js函数的一个参数。在这种情况下,我一直在与同样的问题作斗争。
在我的案例中,我希望我的自定义脚本能够限制用户输入。当输出HTML时,Icefaces会更改标记的id。它将包含的表单id作为前缀附加到标记id,并在ace:textEntry标记'_input'的情况下作为后缀附加。因此,我的ace:textEntry标签的id变成了">客户编辑表单: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**