Проверка, помечен ли хоть один чекбокс
Что за наваждение. Простенькая задачка. И здесь препоны.
Да, сегодня не мой день. Пожалуйста, посмотрите, правильная ли функция. Работает через раз. <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, время: 06:58. |