我有两个组件,一个搜索字段和一个命令按钮。命令按钮用于分隔符任务。因此,当输入字段获得焦点并且用户按下 Enter 键时,它应该重定向到搜索结果页面,并且不应调用命令按钮。
<s:span>
<h:inputText value="#{search.input}" onkeypress="performSearch(event)"/>
<a4j:commandButton image="icon.jpg" action="#{some action}" ajaxSingle="true">
</a4j:commandButton>
</s:span>
performSearch 是一个 JavaScript 函数,它在 Enter 上调用实际搜索。
现在,当在输入字段上按 Enter 键时,将调用 commandButton 的操作。有解决办法吗?
最佳答案
当按下 Enter 键时,onkeypress
应返回 false
。这将阻止回车键的默认操作。
所以,
onkeypress="return performSearch(event)"
类似的东西
function performSearch(event) {
// ...
if (notEnterPressed) {
return true;
}
// Perform search.
// ...
return false;
}
关于javascript - a4j :commandButton gets invoked when hitting enter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10939180/