【发布时间】:2011-07-12 12:41:26
【问题描述】:
我的表单上有一些<h:inputText> 和两个<h:commandButton>s,一个命令按钮以经典方式提交表单,另一个有<f:ajax>,当用户按下时如何防止表单提交在我的一个输入中输入一个触发第二个按钮的键?
【问题讨论】:
我的表单上有一些<h:inputText> 和两个<h:commandButton>s,一个命令按钮以经典方式提交表单,另一个有<f:ajax>,当用户按下时如何防止表单提交在我的一个输入中输入一个触发第二个按钮的键?
【问题讨论】:
如果您的表单中没有文本区域,只需将以下内容添加到 <h:form>。
<h:form onkeypress="return event.keyCode != 13">
Enter 键的键码是 13,所以上面的内容在每次按下时都会返回false,因此不会再执行默认操作。
但是,如果您的表单中有文本区域(<h:inputTextArea> 及以上),并且您希望 Enter 键能够正常工作,那么您需要将 onkeypress 属性放在所有非文本区域中而是输入字段。你可以使用 JS/jQuery 来减少代码重复。
【讨论】: