Быстрая проверка массива чекбоксов

LittleDen

Новичок
Быстрая проверка массива чекбоксов

Имеется код:
PHP:
<td><input name="Weekly_day[]" type="checkbox" value="Пн" checked />Понедельник</td>
<td><input name="Weekly_day[]" type="checkbox" value="Вт" checked />Вторник</td>
<td><input name="Weekly_day[]" type="checkbox" value="Ср" checked />Среда</td>
<td><input name="Weekly_day[]" type="checkbox" value="Чт" checked />Четверг</td>
<td><input name="Weekly_day[]" type="checkbox" value="Пт" checked />Пятница</td>
<td><input name="Weekly_day[]" type="checkbox" value="Сб" />Суббота</td>
<td><input name="Weekly_day[]" type="checkbox" value="Вс" />Воскресенье</td>
Как средствами JavaScript быстро определить, что не выбран ни один чекбокс? И как вообще обращаться к такому массиву? Пытаюсь использовать form.Weekly_day[x].checked -- посылает с руганью, что form.Weekly_day has no properties

-~{}~ 19.01.06 15:36:

При попытке использовать
PHP:
input name="Weekly_day"
прекрасно работает вариант form.Weekly_day[x].checked, но зато PHP не видит массива чекбоксов, а только последний отмеченный вариант как string.
 

Линка

Новичок
LittleDen
не так name="Weekly_day[]" , а так name="Weekly_day"

из скрипта проверяй
if (document.form_name.Weekly_day.checked)
 

bkonst

.. хочется странного?...
Можно назначить каждому элементу ID и воспользоваться documet.getElementById()
 

ZN

Новичок
LittleDen
Посмотри на Weekly_day следующей функцией
PHP:
function alertObject(object, onlyNotEmptyFields) {
        var str = "";
        var i = 0;
        if (typeof object == "object" || typeof object == "Array")
        for(key in object) {
                if (onlyNotEmptyFields && object[key] == "") {
                        continue;
                }
                if (typeof object[key] == "function") {
                        continue;
                }
                str += "object."+key + " = "+ object[key]+ " "+ (++i%3 ? ";\t" : ";\n")+"";
        }
        if (str == "") {
                alert(object + " / " + typeof object );
        } else {
                alert(str);
        }
}
 

LittleDen

Новичок
ZN
Лихо замутил... :)
Пожалуй, воспользуюсь советом сэра bkonst. Не очень элегантно, правда, получается, ну да что поделать.
 

4m@t!c

Александр
>быстро определить, что не выбран ни один чекбокс?
Заведите счетчик, который занимается подсчетом кол-ва отмеченных чекбоксов, и по клику + или - в счетчике. Что бы узнать, что ни один элемент не выбран - достаточно будет сравнить значение счетчика с нулем.
Как вариант перебрать все чекбоксы - обратиться к элементам через DOM.
 
Сверху