Я знаю, что вы можете предотвратить срабатывание onChange при установке значения элементов диджета (то есть textbox.set('value',value,false)
). Есть ли способ сделать это при сбросе dijit.form.Form (form.reset()
)?Form.reset() без включения onChange
Моя проблема связана с попыткой отслеживать грязную форму (то есть значение текстового поля изменилось). Я фиксирую события onChange для элементов управления в форме. Проблема в том, что form.reset() отправляет событияChange для каждого элемента управления, который вернулся к исходному состоянию элемента управления. Таким образом, form.reset()
установит мой грязный флаг, так как каждый сброс управления срабатывает в режиме «Изменить».
Я видел возможные решения, связанные с сбросом форм управления с помощью управления, установив значение _lastValueReported
, а затем установив значение элемента управления, но, похоже, должно быть более простое решение.
Если бы на форме был метод isDirty()
, это было бы идеально.
или есть лучший способ отслеживать, когда форма грязная?
Спасибо, мне так долго приходилось возвращаться и видеть, что я делал. Я фактически создал сброс для каждой формы в моем приложении, и по сути делает сброс на каждый элемент в форме с .set, а затем на ._lastValueReported. – user2638303