按Enter键始终提交表单

Sha*_*arb 6 html javascript forms jquery

我的页面上有一个简单的文本框和按钮类型输入.

 <input id="sText" type="text" />
 <input id="sButton" type="button" value="button" />
Run Code Online (Sandbox Code Playgroud)

我使用jQuery捕获按钮单击.

  $("[id$=sButton]").click(function () {

      ...do Stuff  

  });
Run Code Online (Sandbox Code Playgroud)

只要我手动点击按钮,上面的代码就可以正常工作.当我想使用"enter"键点击按钮时,我开始遇到问题.无论我做什么,我都无法阻止enter键执行它的默认提交功能.

我做的第一件事是将输入类型从"提交"更改为"按钮".

我尝试将表单的onsubmit设置为 onsubmit="return false;"

我尝试使用jQuery捕获回车键事件:

 $("#sText").keyup(function (event) {
        if (event.keyCode == 13) {
            alert("Enter!");
            // $("#sButton").click();
        }
    });
Run Code Online (Sandbox Code Playgroud)

每次按下回车键,就像我提交表格一样,整个页面都会刷新.上面的jQuery代码确实捕获了"输入"击键,但表单仍然提交并刷新页面.

我不知道最近发生了什么.

epa*_*llo 9

您需要取消操作.

event.preventDefault();
Run Code Online (Sandbox Code Playgroud)

但我相信你只能用keydown杀死表单提交,而不是keyup.