HTML表单 - 按"Enter"时执行脚本,无需提交

Dr.*_*eon 4 html javascript forms jquery submit

可能重复:
jQuery Event Keypress:按下了哪个键?

好的,这是我的情况(我过去已经解决了这个问题,但由于我不确定我的方法是最好的,所以我都听取了一些建议):

  • 我有一个简单的HTML表单
  • 此表格的目的是永远不提交
  • 用户正常单击(伪)Submit按钮,执行所需的操作(通过Javascript/Ajax等)

事情是 :

  • 如果用户点击进入,然后形式提交,这是我们绝对不希望.
  • 我们想要的是捕获特定的按键,在这种情况下,触发通常在单击按钮时执行的操作.

你会怎么做?


我的方法


表格

<form id="someId" action="#" method="post" 
      onsubmit="return false;" onkeypress="return enterSub(this,event);">
...
</form>
Run Code Online (Sandbox Code Playgroud)

代码

function enterSub(inField, e) 
{ 
        var charCode;

        if(e && e.which)
        {
            charCode = e.which;
        }
        else if (window.event)
        {
            e = window.event;
            charCode = e.keyCode;
        }

        if (charCode == 13) 
        {
            performThatAction; // My Main action
        }
 }
Run Code Online (Sandbox Code Playgroud)

use*_*654 5

绑定到表单的提交而不是单击按钮,然后阻止默认操作.

$("#myform").submit(function(e){
    e.preventDefault();
    alert("The action has occurred without submitting the form!");
});
Run Code Online (Sandbox Code Playgroud)