Отключить ввод
У меня есть форма с текстовым полем внутри, и я пытаюсь отключить поведение по умолчанию, когда браузер отправляет всю форму, если пользователь нажимает 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", и поведение по умолчанию не переопределяется.
Ответы
Ответ 1
Попробуйте следующее:
$(document).on("keypress", 'form', function (e) {
var code = e.keyCode || e.which;
if (code == 13) {
e.preventDefault();
return false;
}
});
Это предотвратит отправку формы на keypress
ДЕМО ЗДЕСЬ
Ответ 2
Я нашел это, и он работает для меня.
<input type="text" name="somename" id="someid" value="" onkeypress="return event.keyCode!=13">
Ответ 3
Чтобы предотвратить script от блокировки клавиши ввода других элементов, например, на текстовом поле. Измените цель с "form" на "input".
$(document).on("keypress", "input", function (e) {
var code = e.keyCode || e.which;
if (code == 13) {
e.preventDefault();
return false;
}
});
Ответ 4
Если ни одно из вышеперечисленных решений не работает для вас, и вы все равно используете javascript, почему бы вам не использовать тип кнопки 'button' <input type='button'>
и отправить его с помощью javascript
$('#form_id').submit();
Ответ 5
U может использовать этот script для предотвращения ввода целиком из.
<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>
вы помещаете имя класса, которому необходимо использовать элемент управления, введите