禁用输入提交

Disable enter submit

本文关键字:提交 输入      更新时间:2023-09-26

我有一个表单,里面有一个文本字段,我试图禁用默认行为,当浏览器提交整个表单时,如果用户按输入而文本字段被选中。

$('#recaptcha_response_field').keydown(function(event) { if (event.keyCode == 13) {
     event.preventDefault();
     event.stopPropagation();
     event.stopImmediatePropagation();
     alert("You Press ENTER key");
     return false;
   } 
});

目前我得到"你按下ENTER键"和默认行为没有被覆盖。

试试这个:

$(document).on("keypress", 'form', function (e) {
    var code = e.keyCode || e.which;
    if (code == 13) {
        e.preventDefault();
        return false;
    }
});

这将阻止表单在keypress上提交

演示

我发现了这个,它适用于我。

<input type="text" name="somename" id="someid" value="" onkeypress="return event.keyCode!=13">

防止脚本在其他元素(如文本区域)上阻塞输入键。将目标从"form"改为"input"

$(document).on("keypress", "input", function (e) {
    var code = e.keyCode || e.which;
    if (code == 13) {
        e.preventDefault();
        return false;
    }
});

如果以上解决方案都不适合您,并且您正在使用javascript,为什么不使用按钮类型作为'按钮' <input type='button'>并使用javascript提交它

$('#form_id').submit(); 

您可以使用这个脚本来防止在整个from上输入。

<script type="text/javascript">
        $(document).on("keypress", 'form', function (e) {
            if (e.target.className.indexOf("allowEnter") == -1) {
                var code = e.keyCode || e.which;
                if (code == 13) {
                    e.preventDefault();
                    return false;
                }
            }
        });
    </script>

输入需要使用的控件的类名