Общее·количество·просмотров·страницы

Java Dev Notes - разработка на Java (а также на JavaScript/Python/Flex и др), факты, события из АйТи

Архив блога

четверг, 1 октября 2009 г.

ExtJS - Добавление сабмита по Enter для FormPanel

Для формы регистрации нового юзера на сайте требуется производить сабмит формы по нажатию Enter в любом поле ввода формы. Сама форма появляется в новом окне (т.е. Ext.Window). Требуется добавить обработчик Enter для FormPanel.

Решение: для окна добавляем слушателя на событие show. В слушателе добавляем Ext.KeyMap с обработкой нужной клавиши. Вот что у меня получилось:

 
listeners: {
show: function() {
new Ext.KeyMap(Ext.getCmp('reg-form').body, [{
key: Ext.EventObject.ENTER,
fn: function() {
Ext.getCmp('regform-submit-button').fireEvent('click');
},
scope: this
}]);
}
}


Дополнительно можно почитать пост How to add a keymap to an existing FormPanel in ExtJS, где Jeffrey Phillips рассказывает, как добавить обработчик нажатия клавиши на FormPanel.

Комментариев нет:

Отправить комментарий

Постоянные читатели