HTML 文本输入:避免在按下 Enter 时提交

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/12278571/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-29 02:40:26  来源:igfitidea点击:

HTML Text Input: Avoid submit when enter is pressed

htmltextbox

提问by Milo?

I have an HTML input which is a textfield. When I am pressing the enter, this will call the submit, which is normal.

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

Now, I would like to do something else when Enter is clicked on that textBox.

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

I am trying something like that:

我正在尝试这样的事情:

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

The alert works well but the submit is still done. My page is reloading after that.

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

Could you help me please.

请问你能帮帮我吗。

采纳答案by Hkachhia

write return false;and check it

编写return false;并检查它

回答by Sibu

Using jquery

使用jQuery

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

using javascript

使用 JavaScript

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

回答by s_a

Other option would be using onkeypress

其他选项是使用 onkeypress

<input type="text" id="first_page"  onPaste="" onkeypress="if (event.keyCode == 13) {alert('enter'); return false;}" />

回答by Sandeep Pathak

You could try the below script :

你可以试试下面的脚本:

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

And the Html:

和 Html:

<input type="text" id="first_page"  onPaste="" onkeydown="return checkEnter(event);" />

回答by Tarun Tak

write the following code after alert('enter')

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

return false;

回答by Xavi López

You should be returning falsein the keydownevent handler function in order to prevent further processing of the event.

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

Also, you might find the following question useful: Prevent Users from submitting form by hitting enter.

此外,您可能会发现以下问题很有用:通过按 Enter 防止用户提交表单

回答by Abdul Afiq

Use this, it worked in mine.

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

Replace on the keydown:

在键盘上替换:

onkeydown="if (event.keyCode == 13 || event.which == 13) event.preventDefault();"

回答by laki laki

 $(function () {$('#form').validationEngine(); });

It will work in my mvc problem

它可以解决我的 mvc 问题

回答by Vladimir

using jquery you can avoid all submiting or some element

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

$("#form").submit(function(e) {
    e.preventDefault();
});