Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Константин
Зарегистрирован: 06.11.2002 Сообщения: 230
|
Добавлено: Вт Апр 15 2003 15:45 Заголовок сообщения: javascript |
|
|
Как организовать обработку нескольких элементов в цикле? например,имеется 10 чекбоксов. Как сделать так,чтобы скрипт проверял,включены они или нет и выводил чекбокс i-тый включен/выключен? |
|
Вернуться к началу |
|
 |
mpakmopucm
Зарегистрирован: 24.12.2002 Сообщения: 58 Откуда: Москва
|
Добавлено: Вт Апр 15 2003 16:29 Заголовок сообщения: Re: javascript |
|
|
Можно к событию ONCLICK КАЖДОГО чекбокса прицепить одну и ту же функцию (к примеру fCheck_CheckBox()), в которой и проверять циклически состояние всех чекбоксов. Причем, вызов функции проверки чекбоксов можно заколбасить в любую функцию, к примеру, функцию обработки других органов управления. |
|
Вернуться к началу |
|
 |
Константин
Зарегистрирован: 06.11.2002 Сообщения: 230
|
Добавлено: Вт Апр 15 2003 20:10 Заголовок сообщения: Re: javascript |
|
|
Да,спасибо.А как проверять циклически состояние всех чекбоксов?Я так понимаю,для этого нужен массив? Вот тут примерчик для того,чтобы связать один чекбокс с полем ввода. Напиши пожалуйста,как реализовать это если будет не одно поле ввода,а несколько? Все |
|
Вернуться к началу |
|
 |
Константин
Зарегистрирован: 06.11.2002 Сообщения: 230
|
Добавлено: Вт Апр 15 2003 20:13 Заголовок сообщения: Re: Смотри тут |
|
|
Да,спасибо.А как проверять циклически состояние всех чекбоксов?Я так понимаю,для этого нужен массив? Вот тут примерчик для того,чтобы связать один чекбокс с полем ввода. Напиши пожалуйста,как реализовать это если будет не одно поле ввода,а несколько? Кавычки заменил на !
!html! !SCRIPT language=JavaScript! function onClickCheckBox() {if (document.form1.cbox.checked) {document.form1.m_edit.focus();} else {document.form1.m_edit.value="";} }
function onFocusEdit() {if (!document.form1.cbox.checked) document.form1.cbox.focus(); } function onChangeEdit() {if (!document.form1.cbox.checked) { document.form1.m_edit.val ue=""; } } !/SCRIPT! !/HEAD! !form name=form1! !INPUT onclick=onClickCheckBox() type=checkbox name=cbox!Edit !INPUT type="text" onfocus=onFocusEdit() onchange=onChangeEdit() name=m_edit!!/form! !/HTML! |
|
Вернуться к началу |
|
 |
mpakmopucm
Зарегистрирован: 24.12.2002 Сообщения: 58 Откуда: Москва
|
Добавлено: Ср Апр 16 2003 09:07 Заголовок сообщения: Re: Смотри тут |
|
|
Можно организовать массив, а можно поступить по-другому: создать несколько чекбоксов и несколько полей редактирования с определенной зависимостью имен этих элементов управления. Например, чекбоксы ch1, ch2, ch3 и поля редактирования edit1, edit2, edit3. А при проверке имя можно генерить. Допустим, переменная i содержит значение 1. Тогда для проверки чекбокса 1 обращаемся к нему по имени "ch"+i а к полю редактирования - "edit"+i В свете этого вырисовывается картина: for (i=1; i<4;i++){ if (document.all["ch"+i].checked{ document.all["edit"+i] ................ } }
Можно также к функции проверки чекбоксов подгрузить параметр: для первого чекбокса - ONCLICK="onClickCheckBox('1')", для второго - ONCLICK="onClickCheckBox('2')" и т.д.
Функция тогда объявляется примерно так: function onClickCheckBox(Num){ if (document.all["ch"+Num].checked){ document.all["edit"+Num] ............ } else document.all["edit"+Num] ............ } } И не надо никаких циклов |
|
Вернуться к началу |
|
 |
|