Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Web Forms и работа с ними на клиенте через java script (DHTML) / 5 сообщений из 5, страница 1 из 1
16.01.2005, 22:02
    #32866828
Paco
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web Forms и работа с ними на клиенте через java script (DHTML)
Пишу на C# и ASP.NET
возникла задача делать элементы формы активными/неактивными на стороне клиента.
Например есть чекбокс и 5 textbox'ов. Необходимо при клике по чекбоксу делать поля активными.... тут все нормально - обращаемся к полю по его ID к свойству disabled и все работает....
textbox'ы, dropdown menus, checkboxes, единственная проблема (но для меня самая главная) возникла с элементом radioButtonList. С этим элементом через ява скрипт нормально взаимодействовать не получается - ничего не выходит
Может быть кто нибудь сталкивался с такой проблемой и знает как на стороне клиента манипулировать radioButtonList (делать его активным/неактивным и менять его фоновый цвет)?


Анапа на www.anapa.it
...
Рейтинг: 0 / 0
17.01.2005, 11:37
    #32867377
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web Forms и работа с ними на клиенте через java script (DHTML)
у меня вроде бы проблем не возникало:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<table id="NeedToRmAccRadioButtonList" border="0">
   <tr>
    <td><input id="NeedToRmAccRadioButtonList_0" type="radio" name="NeedToRmAccRadioButtonList" value="1" checked="checked" /><label for="NeedToRmAccRadioButtonList_0">Да, требуется</label></td>
   </tr><tr>
    <td><input id="NeedToRmAccRadioButtonList_1" type="radio" name="NeedToRmAccRadioButtonList" value="0" /><label for="NeedToRmAccRadioButtonList_1">Нет, не требуется</label></td>
   </tr>
</table>
<script language="JavaScript">
 //NeedToRmAccRadioButtonList_0.disabled=true;
 //NeedToRmAccRadioButtonList_1.disabled=true;
 //для списка
 function enableDisableRadio(name,val) {
  list=document.all(name);
  for (i= 1 ;i<list.length;i++)
   list[i].disabled=val;
 }
 enableDisableRadio("NeedToRmAccRadioButtonList",true);
</script>

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
17.01.2005, 12:21
    #32867492
Paco
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web Forms и работа с ними на клиенте через java script (DHTML)
Так то у меня тоже работает.

Но у меня другая трабла - я еще при создании в VS.NET radiobuttonlist'у св-во enabled = false делаю.

И если потом уже на клиенте я таким "макаром" пытаюсь их включить, то они не включаются :-(

Анапа на www.anapa.it
...
Рейтинг: 0 / 0
17.01.2005, 13:44
    #32867746
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web Forms и работа с ними на клиенте через java script (DHTML)
Для этого надо разобраться что же нам генерирует ASP.NET в этом случае:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<table id="NeedToRmAccRadioButtonList" disabled="disabled" border="0">
   <tr>
    <td><span disabled="disabled"><input id="NeedToRmAccRadioButtonList_0" type="radio" name="NeedToRmAccRadioButtonList" value="1" checked="checked" disabled="disabled" /><label for="NeedToRmAccRadioButtonList_0">Да, требуется</label></span></td>
   </tr><tr>
    <td><span disabled="disabled"><input id="NeedToRmAccRadioButtonList_1" type="radio" name="NeedToRmAccRadioButtonList" value="0" disabled="disabled" /><label for="NeedToRmAccRadioButtonList_1">Нет, не требуется</label></span></td>
   </tr>
</table>
Т.е. помимо input-ов вам надо будет включить еще и span-ы и таблицу.
Ну с таблицей все понятно, а вот со span-ми код не такой уж простой и прозрачный будет.
Вывод: включать/отключать radiobuttonlist только скриптом на клиенте.
Дописать строчку типа Response.Write("<script>enableDisableRadio('NeedToRmAccRadioButtonList',false);</script>"); думаю не составит особого труда :))
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
17.01.2005, 14:22
    #32867876
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web Forms и работа с ними на клиенте через java script (DHTML)
Но если уж очень хочется выставлять enable у RadioButtonList на сервере, то вот доработанный примерный вариант выше приведенного скрипта:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    <table id="NeedToRmAccRadioButtonList" disabled="disabled" border="0">
   <tr>
    <td><span disabled="disabled"><input id="NeedToRmAccRadioButtonList_0" type="radio" name="NeedToRmAccRadioButtonList" value="1" checked="checked" disabled="disabled" /><label for="NeedToRmAccRadioButtonList_0">Да, требуется</label></span></td>
   </tr><tr>
    <td><span disabled="disabled"><input id="NeedToRmAccRadioButtonList_1" type="radio" name="NeedToRmAccRadioButtonList" value="0" disabled="disabled" /><label for="NeedToRmAccRadioButtonList_1">Нет, не требуется</label></span></td>
   </tr>
</table>

<script language="JavaScript">
 //NeedToRmAccRadioButtonList_0.disabled=true;
 //NeedToRmAccRadioButtonList_1.disabled=true;
 //для списка
 function enableDisableRadio(name,val) {
  list=document.all(name);
  list[ 0 ].disabled=val;
  for (var i= 1 ;i<list.length;i++)
  {
   list[i].disabled=val;
   list[ 0 ].rows(i- 1 ).cells[ 0 , 0 ].childNodes( 0 ).disabled=val;
  }
 }
 enableDisableRadio("NeedToRmAccRadioButtonList",false);
</script>

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Web Forms и работа с ними на клиенте через java script (DHTML) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]