Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Раздисайблить задисайбленный CheckBox на клиенте 
:(
    Опции темы
Vyacheslav
Дата 11.9.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 59



Столкнулся с проблемой.
На клиенте в JavaScript нужно сделать доступными изначально( на сервере :CheckBox1.Enabled =false) задисейбленный  CheckBox.
Вроде все просто. Ниже код, который должен менять состояние чекбокса с певоначального на противоположный. 
Код

            function test()
            {
                
                var chkBox = document.getElementById("CheckBox1");
                chkBox.disabled =  !chkBox.disabled; 
                chkBox.checked = !chkBox.checked;
                 
            }
            

Повесил это на кнопку и ... это прекрасно работает на FireFoxe во всех случаях, работает на IE, если изначально CheckBox не был задисейблен. Если на IE CheckBox был задисейблен, что при нажатии на кнопку в checkbox нормально проставляется-убирается галка, но сам checkbox остается недоступным.
При этом значение chkBox.disabled  меняется ( проверял с помощью алертов)
Что делать?
   




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Idsa
Дата 11.9.2008, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Посмотрите, во что рендерится disabled checkbox. Судя по этой теме, disabled нужно менять не у самого checkbox, а у его предка.

И еще. В GetElementById лучше указывать не ID элемента, а его ClientID.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Vyacheslav
Дата 11.9.2008, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 59



Точно. 
Код

<span disabled="disabled"><input id="CheckBox1" type="checkbox" name="CheckBox1" disabled="disabled" /></span>

Проблема решается
 
Код

 function test()
            {
                
                var chkBox = document.getElementById("CheckBox1");
                chkBox.disabled =  !chkBox.disabled; 
                chkBox.parentNode.disabled = chkBox.disabled;
                chkBox.checked = !chkBox.checked;
                 
            }

Цитата(Idsa @  11.9.2008,  13:36 Найти цитируемый пост)
И еще. В GetElementById лучше указывать не ID элемента, а его ClientID. 

Это же тестовый пример. У меня в реальном проекте тут вообще  все это в репиторе  и соответственно передаются ClientID 


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.