KeyMap и body формы
Есть KeyMap.
Код:
new Ext.KeyMap(Ext.getCmp('my-form').body, [{ Код:
Ext.getCmp('my-form').submit(); как можно в моем случае получить в какой из форм был нажат Enter? прошу учесть что кеймап забиндин на Ext.getCmp('my-form').body и ссылка по this не проходит. пытался выйти по findParent('form'), тоже не получилось. Заранее спасибо. |
Попробуйте event.target || event.srcElement события. А вообще-то это кака -- два элемента с одинаковыми id. Самому-то не стыдно? ;)
|
Это не кака, так просто работать не будет.
|
а чего стыдно то? )
у меня есть класс, который расширяет панель и на ней куча полей ввода. в моем случае это логинФорма. эта панель встречается в двух вариациях - как просто панель на главной странице, так и всплывающее окно. соответственно одновременно, если пользователь вызовет всплывающее окно, то будет существовать два экземпляра этого класса(формы). вешать на каждое поле обработчик - не практично, следовательно остается KeyMap. не понял откуда можно получить event. я с extJS всего пару дней, так что не судите, а советом помогите) |
kez,
не может быть двух элементов с одинаковыми id. Какой-то из них учитываться не будет. |
да. вы оказались правы - второй созданный экземпляр не реагирует на KeyMap.
а как мне правильнее поступить в моем случае?...на каждое поле обработчики не очень хочется вешать. есть более красивое решение? |
Есть. Класс.
|
так у меня форма и реализована в виде класса.
объясните подробнее, пожалуйста. |
Выбирайте элементы для бинда, используя class, а не id.
А зачем биндить на body-то? Получается, что где бы не был нажат Enter, мы все равно должны что-то сабмитить? |
Да. смысл в этом.
в форме 2а поля - логин и пароль ну и кнопка. |
Часовой пояс GMT +3, время: 14:38. |