04.06.2009, 15:51 | #1 |
Участник
|
По обновлению полей
Здравствуйте.
Есть 4 поля заполняются скриптом на OnChange в таком виде: OnChange <поля1> заполняет <поле2>; OnChange <поля2> заполняет <поле3>; OnChange <поля3> заполняет <поле4>. Эти события срабатывают только если вручную изменять каджое поле, программное заполнение система не считает за OnChange, но по логике должно одно событие инициировать заполнение последующих полей. Если изменить <поле1>, то должны заполниться все остальные поля; Если изменить <поле3>, то за ним должно измениться только <поле4>, поэтому вешать на OnLoad или OnSave не подходит, т.к. в этом случае меняются все поля. Вопрос: как объяснить системе, что OnChange произошло (не в ручную, а программно)? |
|
04.06.2009, 16:01 | #2 |
Консультант-джедай
|
Чтобы принудительно вызвать событие изменения поля используйте:
crmForm.all.<поле>.FireOnChange();
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
04.06.2009, 18:59 | #3 |
Moderator
|
Согласен, но логика говорит:
1. Вы занимаетесь фигней. 2. Если уж приспичило, то можно сделать проще: OnChange <поля1> заполняет <поле2>, <поле3>, <поле4>; OnChange <поля2> заполняет <поле3>, <поле4>; OnChange <поля3> заполняет <поле4>.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|