Перейти к содержимому


Конкурс "Лучший отзовик"
× Быстрый вопрос
Пользователь месяца
ShowPrint ShowPrint 1-й за Март
Очков активности: 1 152 1 тема, 61 сообщение, 12 баллов репутации
Сайт: ShowPrint.ru
ТОП самых активных за этот месяц
  • Фотография Андрей WPMasterKZ
    #1

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 585 Вне конкурса за определение пользователя месяца

  • Фотография Vmir
    #2

    Vmir
    Очков активности: 456 3 темы, 29 сообщений, 8 баллов репутации

  • Фотография OlgaGetman
    #3

    OlgaGetman
    Очков активности: 360 Вне конкурса за определение пользователя месяца

  • Фотография ShowPrint
    #4

    ShowPrint (ShowPrint.ru)
    Очков активности: 204 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #5

    Mandarin
    Очков активности: 112.5 3 темы, 16 сообщений, 3 балла репутации

  • Фотография pozitron123
    #6

    pozitron123
    Очков активности: 67.5 3 темы, 6 сообщений, 3 балла репутации

  • Фотография maxnik
    #7

    maxnik (konovalovpavel.ru)
    Очков активности: 66 1 тема, 19 сообщений, 2 балла репутации

  • Фотография Megoydagi
    #8

    Megoydagi
    Очков активности: 57 1 тема, 16 сообщений, 2 балла репутации

  • Фотография re-search
    #9

    re-search
    Очков активности: 49.5 7 тем, 12 сообщений, 1 балл репутации

  • Фотография Strazh
    #10

    Strazh
    Очков активности: 37.5 1 тема, 22 сообщения, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 20.04.2019
  • Яндекс выдача: 18.04.2019
Топ 5 участников по репутации


  • Закрытая тема Тема закрыта

OnKeyPress, OnKeyDown

#1 gaaarfild

gaaarfild
  • Неактивные
  • 596 сообщений
  • Репутация: 0
0

Отправлено 01 Май 2010 - 01:30

При использовании AJAX в формах я привязываю запрос при нажатии элемента типа button. Но если нажать Enter, то происходит отправка Submit. Как можно перехватывать и нажатие Enter. Использую jQuery. И собственно вопрос темы. Чем отличаются onKeyPress и onKeyDown?

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 01 Май 2010 - 10:34

gaaarfild, Чтобы отловить отправку формы, тебе надо повесить событие именно на форму, при нажатии кнопки

keypress-событие отправляется элементом, когда браузер регистрирует ввод данных с клавиатуры. Это подобно keydown-событию, кроме ключевых повторений. Если пользователь зажмет кнопку, keydown-событие запускается единожды, а keypress-события запускаются для каждого вставленного символа. Кроме того, кнопки (как например Shift) модификатора вызывают keydown-события, но не keypress-события.

$('#[id_формы]').bind('keypress', function(e) {
   if(e.keyCode==13)
   {
	   // Здесь нам надо обрубить отправку формы.
   }
});

  • 0

#3 reaboom

reaboom
  • Неактивные
  • 40 сообщений
  • Репутация: 0

Отправлено 01 Май 2010 - 10:43

Лучше отлавливать submit формы... а не нажатие клавиши...
  • 0

#4 ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 01 Май 2010 - 10:45

reaboom, тогда ты не сумеешь определить, каким образом была отправлена формы, по нажатию кнопки, или по нажатию Enter. Так что, всё равно придётся обрабатывать событие нажатия Enter.
  • 0

#5 reaboom

reaboom
  • Неактивные
  • 40 сообщений
  • Репутация: 0

Отправлено 01 Май 2010 - 10:50

тогда ты не сумеешь определить, каким образом была отправлена формы

Да... Но автору это вроде и не надо... Да я и не представляю особо, зачем это может понадобится при отправке формы... :rolleyes:
  • 0

#6 gaaarfild

gaaarfild
    Topic Starter
  • Неактивные
  • 596 сообщений
  • Репутация: 0

Отправлено 01 Май 2010 - 13:57

А я просто переименовал button в submit. Поле action формы оставил пустым. и добавил еще на submit - return false; Теперь работает так, как хотел.
  • 0

#7 ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 02 Май 2010 - 14:12

gaaarfild, Вообщем тогда тему закрываю :rolleyes: Вопрос решился своими силами. А реализация самое то. Просто и без всяких заморочек.
  • 0


Оформление форума – IPBSkins.ru