2013-07-09 1 views
0

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

Возможно, у вас есть какие-либо предложения? Спасибо.

+0

Пара вопросов: Какая версия Dojo это? Где (в каких функциях) вы пытались вызвать свой отключенный код? – David

+0

Просто, чтобы вы знали, два «ответа», которые вы отправили, не являются ответами. Вместо того, чтобы публиковать «ответ», который является дополнительным вопросом, вы можете либо изменить свой исходный вопрос, либо задать другой вопрос. В этом случае на ваш первый вопрос об атрибуте настройки был дан ответ. Ваша следующая серия «ответов» должна быть задана как отдельный вопрос. –

+0

Я не буду редактировать свой первый вопрос. Это будет такой беспорядок между моей первой, ответами, другими вопросами и новыми ответами. Я не могу ответить как комментарий, так как мои коды не будут отображаться в виде кода. – mentinet

ответ

1

Dojo Widgets имеет соглашение об установке атрибутов с использованием метода set.

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

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

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

+0

Это решение также работает, но оно не решает мою проблему. Я нажимаю на свой переключатель, который напрямую изменяет состояние полей в FF, но мне нужен второй щелчок (где бы он ни был), чтобы увидеть изменения в IE. Спасибо – mentinet

0

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

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

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

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

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

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

+0

Спасибо, я посмотрю на него, если я снова столкнусь с этой проблемой, но до сих пор моя проблема была решена с помощью «onclick» вместо «onchange». – mentinet

+0

Решенная проблема - хорошая проблема ;-) – MiBrock