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
Надеюсь, это поможет вам.
С уважением, Мириам