Программирование > JavaScript & JScript
проверка полей
Greg:
суть задачи такова:
у меня есть форма в которой существует неизвестное(!) количество элементов checkbox. мне требуется проверить их заполненность ("отмеченность") и в результате выволнить два действия:
1) если ничего не заполнено, вывести предупреждение и прекратить дальнейшее выполнение функции
2) если отмечены все поля, выполнить стандартную функцию print().
проблем не было бы, если бы я точно знал сколько и какие элементы есть в форме.
может кто чем подскажет?
html_coder:
Greg
а что мешает просто получить все checkboxes, и проверить их в цикле, как только нашёл первый не отмеченный сделать return из функции...
avb:
Все элементы формы:
document.forms[индекс или "имя формы"].elements
Из них чекбоксами являются те, для которых:
document.forms[индекс или "имя формы"].elements.type=="checkbox"
Если чекбокс отмечен, то:
document.forms[индекс или "имя формы"].elements.checked==true
в противном случае:
document.forms[индекс или "имя формы"].elements.checked==false
Если есть возможность задавать всем чекбоксам одно имя (аттрибут name), то тогда они будут в массиве:
document.forms[индекс или "имя формы"].elements["имя чекбоксов"]
Greg:
html_coder
avb
я в javascript почти не работаю, поэтому многих функций не помню или просто не знаю.
вот значит так делаем (для проверки все ли чекбоксы отмечены) :
1) в цикле проверяем свойство элемента формы, если чекбокс, то...
1.1) проверяем отмечен/неотмечен он. если отмечен, прибавляем единичку в какуюто переменную
потом эту переменную сравниваем с количеством чекбоксов в форме, если равно, то выполняем оду функцию, если не равно, но не 0, то другую, а если 0, то предупреждаем и выходим.
вот в чем вопрос, как узнать количество элементов, т.е. чекбоксов?
hanslinger:
var xxx = element.getElementsByTagName(\'input\');
if (xxx.type == \'checkbox\') ...
Я здесь обычно такие вещи смотрю.
Навигация
Перейти к полной версии