29

我有一个 HTML 输入,它是一个文本字段。当我按回车时,这将调用提交,这是正常的。

现在,当在该文本框上单击 Enter 时,我想做其他事情。

我正在尝试这样的事情:

<input type="text" 
       id="first_page"  
       onPaste="" 
       onkeydown="if (event.keyCode == 13) alert('enter')" />

警报运行良好,但提交仍然完成。之后我的页面正在重新加载。

请问你能帮帮我吗。

4

9 回答 9

26

return false;并检查

于 2012-09-05T09:45:49.130 回答
24

使用 jQuery

<script>
            $('#first_page').keypress(function(e) {
              if (e.keyCode == '13') {
                 e.preventDefault();
                 //your code here
               }
            });​
        </script>

使用 javascript

<input type="text" id="first_page"  onPaste="" onkeydown="if (event.keyCode == 13) { alert('enter');return false;}" />
于 2012-09-05T09:46:23.443 回答
6

其他选项是使用 onkeypress

<input type="text" id="first_page"  onPaste="" onkeypress="if (event.keyCode == 13) {alert('enter'); return false;}" />
于 2015-03-17T15:29:03.830 回答
2

您可以尝试以下脚本:

 <script>
 function checkEnter(event)
{
    if (event.keyCode == 13) 
   {
       alert('enter')
       return false;
    }
}

和HTML:

<input type="text" id="first_page"  onPaste="" onkeydown="return checkEnter(event);" />
于 2012-09-05T09:48:44.803 回答
1

之后写下面的代码alert('enter')

return false;
于 2012-09-05T09:46:37.917 回答
1

您应该falsekeydown事件处理函数中返回,以防止进一步处理事件。

此外,您可能会发现以下问题很有用:Prevent Users from submit form by hit enter

于 2012-09-05T09:45:09.957 回答
0
 $(function () {$('#form').validationEngine(); });

它适用于我的 mvc 问题

于 2019-12-02T11:40:31.367 回答
0

使用这个,它在我的工作。

在 keydown 上替换:

onkeydown="if (event.keyCode == 13 || event.which == 13) event.preventDefault();"
于 2017-10-03T01:45:04.737 回答
-2

使用 jquery 您可以避免所有提交或某些元素

$("#form").submit(function(e) {
    e.preventDefault();
});
于 2014-03-06T07:57:48.593 回答