Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2009, 17:00
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

KeyMap и body формы
Есть KeyMap.
Код:
new Ext.KeyMap(Ext.getCmp('my-form').body, [{
    key: Ext.EventObject.ENTER,
    fn: function() {
        Ext.getCmp('my-form').submit();
    },
    scope: this
}]);
не хочется ссылаться на компонент таким образом
Код:
Ext.getCmp('my-form').submit();
т.к. на странице присутствует два компонента с таким id.
как можно в моем случае получить в какой из форм был нажат Enter? прошу учесть что кеймап забиндин на Ext.getCmp('my-form').body и ссылка по this не проходит. пытался выйти по findParent('form'), тоже не получилось.
Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2009, 18:39
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Попробуйте event.target || event.srcElement события. А вообще-то это кака -- два элемента с одинаковыми id. Самому-то не стыдно?
Ответить с цитированием
  #3 (permalink)  
Старый 07.10.2009, 22:38
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Это не кака, так просто работать не будет.
Ответить с цитированием
  #4 (permalink)  
Старый 07.10.2009, 23:30
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

а чего стыдно то? )
у меня есть класс, который расширяет панель и на ней куча полей ввода.
в моем случае это логинФорма. эта панель встречается в двух вариациях - как просто панель на главной странице, так и всплывающее окно. соответственно одновременно, если пользователь вызовет всплывающее окно, то будет существовать два экземпляра этого класса(формы).
вешать на каждое поле обработчик - не практично, следовательно остается KeyMap. не понял откуда можно получить event.
я с extJS всего пару дней, так что не судите, а советом помогите)
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2009, 09:07
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

kez,
не может быть двух элементов с одинаковыми id. Какой-то из них учитываться не будет.
Ответить с цитированием
  #6 (permalink)  
Старый 08.10.2009, 09:25
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

да. вы оказались правы - второй созданный экземпляр не реагирует на KeyMap.
а как мне правильнее поступить в моем случае?...на каждое поле обработчики не очень хочется вешать. есть более красивое решение?
Ответить с цитированием
  #7 (permalink)  
Старый 08.10.2009, 14:12
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Есть. Класс.
Ответить с цитированием
  #8 (permalink)  
Старый 08.10.2009, 14:52
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

так у меня форма и реализована в виде класса.
объясните подробнее, пожалуйста.
Ответить с цитированием
  #9 (permalink)  
Старый 08.10.2009, 15:05
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Выбирайте элементы для бинда, используя class, а не id.
А зачем биндить на body-то? Получается, что где бы не был нажат Enter, мы все равно должны что-то сабмитить?
Ответить с цитированием
  #10 (permalink)  
Старый 08.10.2009, 15:13
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

Да. смысл в этом.
в форме 2а поля - логин и пароль ну и кнопка.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Собрать значения всех полей формы vvsh Events/DOM/Window 3 09.11.2009 00:35
Помогите написать скрипт валидации формы RayOfLight Общие вопросы Javascript 2 27.07.2009 11:58
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12
Определение координат body. Kolyaj Events/DOM/Window 10 04.04.2009 16:20