Проверка, помечен ли хоть один чекбокс
Что за наваждение. Простенькая задачка. И здесь препоны.
Да, сегодня не мой день. Пожалуйста, посмотрите, правильная ли функция. Работает через раз. <form name="types" ... ... ... onsubmit="return sub()"> checkbox class="chekbox" checkbox class="chekbox" checkbox class="chekbox" ...
function sub() {
var res = true;
var checkbox = document.getElementsByClassName('checkbox');
for(var i = 0; i < checkbox.length; i++) {
if(checkbox[i].checked==true) {
var c=1;
break;
}
if(c!=1) {
alert('Выберите хотя бы один чекбокс!');
res = false;
}
return res;
}
}
Использую getElementsByClassName поскольку чекбоксы по-любому уже имеют такой класс, необходимый для другой функции. |
Эдди,
14 строка не на своём месте выбирайте сразу отмеченный - и строки с for станут ненужны |
Цитата:
Вот не люблю я стиль javascript: татата { } ЛучшеЖ тадада { } Все вылезает сразу наружу. :) |
Эдди,
function sub() {
var a = !!document.querySelector(".chekbox:checked");
a || alert("Выберите хотя бы один чекбокс!");
return a
};
|
Цитата:
|
Цитата:
Прочел кое что о querySelector - очень интересный метод. Не знал. Надо подробнее изучить. Хотя JS использую очень редко. А пока пусть в цикле работает. Да и, как правило, в 90% случаев первый чекбокс по любому отмечается. |
отметить хотя бы один чекбокс
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<form name="types" onsubmit="return sub()" action="http://javascript.ru/">
<input name="" type="checkbox" class="chekbox">
<input name="" type="checkbox" class="chekbox">
<input name="" type="checkbox" class="chekbox">
<input name="" type="submit" value="send">
</form>
<script>
function sub() {
var a = !!document.querySelector(".chekbox:checked");
a || alert("Выберите хотя бы один чекбокс!");
return a
};
</script>
</body>
</html>
|
А в отдельном файле работает. Ладно. Буду искать, что у меня там мешает.
|
| Часовой пояс GMT +3, время: 13:52. |