Программирование > JavaScript & JScript

проверка полей

(1/5) > >>

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\') ...
Я здесь обычно такие вещи смотрю.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии