Javascript 在所有浏览器中使用enter键调用函数

Javascript 在所有浏览器中使用enter键调用函数,javascript,Javascript,我一直试图使enter键调用成为特定文本字段的函数。让它与IE一起工作没有问题。 Chrome和Firefox是另一回事,它们触发了另一个功能。文本框上的代码为: <input name="Phone" type="text" onkeydown="if (event.keyCode==13 || event.keyDown==13 || event.charCode==13){get2();preventDefault();}"> 所调用函数的代码为: <script

我一直试图使enter键调用成为特定文本字段的函数。让它与IE一起工作没有问题。 Chrome和Firefox是另一回事,它们触发了另一个功能。文本框上的代码为:

<input name="Phone" type="text" onkeydown="if (event.keyCode==13 || event.keyDown==13 || event.charCode==13){get2();preventDefault();}">

所调用函数的代码为:

<script type="text/javascript">
$(function() {
  $(".button").on("click",function(e) {
    e.preventDefault();
    location=this.id+".php?"+$('form[name="reportform"]').serialize();
  });     
});
</script>

$(函数(){
$(“.button”)。在(“单击”上,函数(e){
e、 预防默认值();
location=this.id+“.php?”++$('form[name=“reportform”]”)。serialize();
});     
});
我尝试将该函数修改为:

<script type="text/javascript">
$(function() {
  $(".button").on("click",function(e) {
    if (event.keyCode==13 || event.keyDown==13 || event.which==13){get2();e.preventDefault();
    }else{
    e.preventDefault();
    location=this.id+".php?"+$('form[name="reportform"]').serialize();}
  });     
});
</script>

$(函数(){
$(“.button”)。在(“单击”上,函数(e){
如果(event.keyCode==13 | | event.keyDown==13 | | | event.which==13){get2();e.preventDefault();
}否则{
e、 预防默认值();
location=this.id+“.php?”++$('form[name=“reportform”]”)。serialize();}
});     
});
我甚至尝试将该功能替换为:

<script type="text/javascript">
$('#reportform').submit(function(e){
        get2();
        e.preventDefault();
        return false;
});
</script>

$(“#报表”)。提交(函数(e){
get2();
e、 预防默认值();
返回false;
});

我发现(keyCode,keyDown,charCode)==13,虽然谷歌搜索了很多次,这个网站上的大部分功能都是这样,但我一直没能让它正常工作。如果您有任何见解,我将不胜感激。

对于这项任务,我尝试过您描述的类似方法,但我找到了更好的方法来处理它。只需使用表单(如果需要,隐藏submit按钮)


[Enter]键将导致提交表单,即调用您的函数


您想要Jquery中的解决方案吗?
<form onsubmit="myFunction();return false;">
    <input type="text">
    <input type="submit" style="display:none">
</form>