我有一个数据表作为搜索字段.我希望在按下ENTER键时调用辅助bean上的方法,以及要重新呈现的DataTable.
到目前为止,我的方法仅适用于IE 6和7,而不适用于FF.这是inputText:
function submitByEnter(e){
if(e.keyCode==13){
// alert("Enter was pressed");
e.returnValue=false;
e.cancel=true;
document.getElementById("applicantProductListForm:refreshButton").click();
}
}
如您所见,Javascript方法点击页面上存在的按钮刷新:
refreshData方法不返回任何内容.如前所述,这仅适用于IE 6和IE 7.
有谁知道为什么它在FF中不起作用?
我正在考虑的另一个选择是HotKey,它确实可以捕获ENTER的事件,但它只能调用Javascript,所以它不合适.
通过RichFaces或普通JSF这样做的正确方法是什么?
干杯!
更新:
BalusC略微修改了答案,有效的脚本是:
if (event.preventDefault) {
// Firefox
event.preventDefault();
} else {
// IE
event.returnValue = false;
}
最佳答案
尝试通过以下方式替换JS块:
function submitByEnter(e){
if (e.keyCode == 13) {
e.preventDefault();
document.getElementById("applicantProductListForm:refreshButton").click();
}
}
或更好,
function submitByEnter(e){
if (e.keyCode == 13) {
document.getElementById("applicantProductListForm:refreshButton").click();
return false;
} else {
return true;
}
}
和输入的onkeypress
onkeypress="return submitByEnter(event)"
原文地址:https://www.jb51.cc/js/429351.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。