Dojo, установите атрибут с помощью Internet Explorer

Я работаю над веб-приложением, которое я не сделал сам, и это было сделано с помощью Dojo и особенно Dijit. Часть, с которой я борюсь, - это форма, которая меняется в зависимости от переключателей. Поэтому я использую dijit.byId('id').setAttribute('disabled',true); чтобы отключить поле, и это работает на FF, но не с IE8. Хотя это работает, но не напрямую, когда я проверяю переключатель, мне нужно сделать еще одно действие (например, щелкнуть в произвольной области на странице), и действие будет применено. Я пробовал с такими вещами, как: document.getElementById('id').disabled=true; но это тоже не работает правильно.

Не могли бы вы предложить что-нибудь? Спасибо.

2 ответа

Решение

У виджетов Dojo есть соглашение для установки атрибутов с помощью метода set.

dijit.byId('id').set('disabled',true);

Это соглашение будет называть _setDisabledAttr метод на виджете, который позаботится о том, чтобы отключить себя.

http://dojotoolkit.org/reference-guide/1.7/dijit/_WidgetBase.html

У нас была почти такая же проблема, как и у вас.

Попробуйте dijit.registry, чтобы получить или установить атрибуты для отключенных или включенных.

У нас возникла проблема с запросом, который проверял, была ли активна та или иная радиокнопка. Тогда другая запись должна быть прочитана за один раз. К сожалению, это не сработало с dojo.byId, поэтому мы искали решение и нашли его, как описано выше в dijit.registry.

Вот ссылка: http://dojotoolkit.org/reference-guide/1.9/dijit/registry.html

Надеюсь, это поможет вам.

С уважением, Мириам

Другие вопросы по тегам