Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Где ошибка не пойму (https://javascript.ru/forum/misc/1883-gde-oshibka-ne-pojjmu.html)

Алексей 30.09.2008 12:14

Где ошибка не пойму
 
Такой скриптик для выделения определенной группы checkbox.Что то не пашет. Помогите разобраться.
function ckeck_uncheck(id) {
switch (id) {
case 1:
	a=1;
	b=6;
	c=master_box1;
  break;
case 2:
	a=7;
	b=12;
	c='master_box2';
  break;
case 3:
	a=11;
	b=18;
	c='master_box3';
  break;
case 4:
	a=19;
	b=23;
	c='master_box4';
  break;
case 5:
	a=24;
	b=25;
	c='master_box5';
  break;
case 6:
	a=26;
	b=35;
	c='master_box6';
  break;
case 7:
	a=36;
	b=50;
	c='master_box7';
  break;
case 8:
	a=51;
	b=62;
	c='master_box8';
  break;
case 9:
	a=63;
	b=69;
	c='master_box9';
  break;
case 10:
	a=70;
	b=74;
	c='master_box10';
  break;
default:
	a=0;
	b=0;
} 
    var frm = document.form.master_box1;
        for (var i=a;i<b;i++)
{
        var elmnt = frm.elements[i];
        if (elmnt.type=='checkbox') {
            if(frm.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
        }
    }
    if(frm.checked == true){ frm.c.checked = false; }
    else{ frm.checked = true; }
}

ZoNT 30.09.2008 12:18

и какие ошибки выдаёт?

Алексей 30.09.2008 12:28

Пробывал и с переменной "c" и с "frm". Не пашет. Не выделяет всю группу.

ZoNT 30.09.2008 12:29

ну так скрипт древний. Почитай про методы DOM.

Алексей 30.09.2008 12:34

Да. Если ввести будет работать, но с одной группой.
var frm = document.form;
for (var i=a;i<b;i++)
{
var elmnt = frm.elements[i];
if (elmnt.type=='checkbox') {
if(frm.master_box1.checked == true){ elmnt.checked=false; }
else{ elmnt.checked=true; }
Как изменить переменную frm или вствить frm.c.etc.... чтоб работало со многими группами птичек.
А что такое DOM? И чем он мне поможет?

ZoNT 30.09.2008 12:35

а трудно в поиске набрать DOM?

Алексей 30.09.2008 13:42

Долго я разберался с этой умной аббревиатурой. И ничего полезного она мне не принесла.
Итак.
Имеются свойства объекта и методы checkbox:
1. checkboxName.propertyName
2. checkboxName.methodName (parameters)
3. formName.elements [index] .propertyName
4. formName.elements[index].methodName(parameters)

В моем случае вот что.
1. CheckboxName.checked

Проблема в frm.{КАК ПОМЕНЯТЬ ЗДЕСЬ ИМЯ ПТИЧКИ}.checked
До этого было вот так frm.master_box.checked и работало только для master_box
а мне надо для 10 таких

ZoNT 30.09.2008 14:14

frm['master_box'].checked

Алексей 30.09.2008 14:57

Вот теперь все работает.А через getElementById пытался выпендриться. Спасибо тебе ZoNT.


Часовой пояс GMT +3, время: 07:10.