Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Enter в текстовом поле


Автор: Kiber 18.6.2005, 11:50
Код

<script language="javascript">
function KeyPress()
{
if (window.event.keyCode == 13)
{
return false;
}
else
{
return true;
}
}
</script>

Код

<form method="post" action="test.htm">
<input type="text" value="" onkeydown="return KeyPress()">
</form>


Если в поле нажать Enter, то ничего не должно происходить - так по задумке. В IE это работает. Но в Opera и в Firefox страница перезагружается, что не гуд. Как сделать, чтобы работало во всех броузерах?

М
 

Пользуемся форумной подсветкой.

Автор: Aliance 18.6.2005, 18:16
Код я лично давал три раза. Пользуйся поиском. И посмотри в теме Валидация форм (кажется) в разделе Наши скрипты

Автор: o.s.a. 18.6.2005, 18:55
А у меня такой вариант решения этой проблемы:
Цитата
Клавиша <Enter> срабатывает только в том случае, если в форме имеется одно текстовое поле. Для двух полей нажатие на <Enter> не даст никакого результата.

поэтому создаем еще одно текстовое поле
Код

<form method="post" action="test.htm">
<input type="text" value="" onkeydown="return KeyPress()">
<input type="text" style="visibility : hidden">
</form>


Автор: sergejzr 18.6.2005, 19:00
Не мудрите smile
Там стоит if (window.event.keyCode == 13)

a это определено вроде как только для ИЕ smile
Поэтому в мозилах возвращается true и код отрабатывает.

Поищите лучше готовый вариант от Алиянса smile
Добавлено @ 19:05
Вот так можно проблему обойти
Код

<form method="post" action="test.htm">
<input type="text" value="" onkeydown="return KeyPress(event)">
</form>

<script language="javascript">
function KeyPress(e)
 {
   if(!(((document.all)&&(!document.getSelection)))) //если не ИЕ
    event=e;

   return event.keyCode != 13;
}
</script>

Автор: Aliance 19.6.2005, 17:26
http://forum.vingrad.ru/index.php?showtopic=37525&view=findpost&p=284065

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)