Каков хороший способ заполнения формы в ExtJS кодом и запуска событий для каждого компонента, как если бы они были заполнены пользователем? - PullRequest
1 голос
/ 04 января 2011

В проекте, над которым я работаю, у меня есть формы, которые мне иногда приходится заполнять кодом.

Допустим, у меня есть два комбинированных списка: combo1 и combo2. Они оба обязательны по умолчанию (allowBlank: false). В событии select combo1 я устанавливаю для свойства combo2 allowBlank значение true и очищаю его. Пока все хорошо, пока пользователь заполняет форму.

Когда я использую метод setValue combo1, он не вызывает событие select, поэтому combo2 все еще требуется, когда я этого не хочу. Какой хороший способ решить эту проблему? Должен ли я запускать события вручную после установки значений?

1 Ответ

2 голосов
/ 04 января 2011

Да, вам нужно запускать события вручную.

Нет событий пользовательского интерфейса с JavaScript.Это сделано для предотвращения бесконечных циклов и других нежелательных побочных эффектов при программном взаимодействии со страницей.

В ExtJS для этой цели есть component.fireEvent(...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...