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

时间:2012-09-05 09:42:25

标签: html textbox

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

现在,我想在点击该文本框时输入其他内容。

我正在尝试这样的事情:

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

警报效果很好但提交仍然完成。之后我的页面正在重新加载。

你能帮帮我吗?

9 个答案:

答案 0 :(得分:25)

return false;并检查

答案 1 :(得分: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;}" />

答案 2 :(得分:5)

其他选项是使用onkeypress

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

答案 3 :(得分: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);" />

答案 4 :(得分:1)

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

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

答案 5 :(得分:1)

alert('enter')

之后编写以下代码
return false;

答案 6 :(得分:0)

使用它,它在我的工作。

替换keydown:

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

答案 7 :(得分:0)

$(function(){$('#form')。validationEngine();}); 它可以解决我的MVC问题

答案 8 :(得分:-2)

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

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