我有一个带有文本字段的表单,如果用户在选择文本字段时按 Enter ,我试图在浏览器提交整个表单时禁用默认行为。
$('#recaptcha_response_field').keydown(function(event) { if (event.keyCode == 13) {
event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();
alert("You Press ENTER key");
return false;
}
});
目前正在“按下ENTER键”并且不会覆盖默认行为。
答案 0 :(得分:22)
试试这个:
$(document).on("keypress", 'form', function (e) {
var code = e.keyCode || e.which;
if (code == 13) {
e.preventDefault();
return false;
}
});
这会阻止在keypress
答案 1 :(得分:10)
我找到了这个,它对我有用。
<input type="text" name="somename" id="someid" value="" onkeypress="return event.keyCode!=13">
答案 2 :(得分:6)
防止脚本阻止其他元素(例如textarea)上的回车键。将目标从“表单”更改为“输入”。
$(document).on("keypress", "input", function (e) {
var code = e.keyCode || e.which;
if (code == 13) {
e.preventDefault();
return false;
}
});
答案 3 :(得分:3)
如果以上解决方案都不适合您,并且您仍在使用javascript,为什么不将按钮类型用作“按钮”<input type='button'>
并使用javascript提交
$('#form_id').submit();
答案 4 :(得分:1)
你可以使用这个脚本来防止从中输入。
<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>
你把需要使用控件的类名输入