#jquery #internet-explorer-8
#jquery #internet-explorer-8
Вопрос:
У меня есть эта простая форма:
<form>
<input id="txt" type="text">
<input id="sb" type="submit">
</form>
Когда форма отправлена, я хочу знать, была ли она отправлена нажатием enter
. Как я могу получить эту информацию?
Я пробовал это с помощью jquery:
$("#txt").keyup(function(event){if(event.keyCode==13)...});
Это работает, за исключением IE8. В IE8 форма отправляется без запуска keyup
функции. К сожалению, я должен заставить это работать в IE8.
Комментарии:
1. попробуйте перейти на нажатие клавиши.
2. Кроме того, убедитесь, что сайт не работает в режиме совместимости.
3. Вау, нажатие клавиши делает свое дело.
4. @ry4nolson: Перепишите этот ответ, и я приму его.
Ответ №1:
Используйте .keydown
для захвата клавиши ввода перед отправкой формы.
$("#txt").keydown(function(e){
if(e.keyCode==13){
e.preventDefault();
}
});
Демонстрация:http://jsfiddle.net/6fKez /
Комментарии:
1. Спасибо, но не совсем. С
preventDefault
моя форма не отправлена. И скрипка даже не загружается в моем IE, но, я полагаю, это ошибка скрипки. Ноkeydown
делает свое дело.2. @MichaelLemke Вы можете удалить
.preventDefault
, я просто вставил его туда для демонстрации, поскольку вы не опубликовали остальную часть своего кода.