Если щелкнуть несколько раз на этих кнопках, то можно видеть, что в данный момент времени может быть выбрана только одна из них. Но желательно знать, что пользователь выбрал хотя бы одну из этих кнопок.

Радио-кнопки и флажки на форме представляют специальную ситуацию. Часто имеется несколько радио-кнопок с одним и тем же именем, что почти всегда исключено для полей ввода, полей выбора и т.д.:


<input type="radio" name="color" value="blue">Синий<input type="radio" name="color" value="red">Красный <input type="radio" name="color" value="green">Зеленый


В связи с этим существует способ доступа ко всем радио-кнопкам с одним именем. Значение document.forms.имяФормы.elements.имяРадиокнопок будет содержать список со всеми радио-кнопками. Так как необходимо проверить, что хотя бы одна радио-кнопка отмечена, то потребуется просмотреть все эти радио-кнопки. Если хотя бы одна из них отмечена, функция проверки должна вернуть true. Поэтому функция выглядит теперь следующим образом:


function validateForm(){ var radios = document.forms.tutform.elements.color; for(var i=0; i<radios.length; i++){ if(radios[i].checked) return true; } alert('Вы должны выбрать цвет!'); return false;}


Новым элементом в этом коде является так называемый цикл for. Он выглядит немного более сложно, чем есть в действительности, поэтому разберем его составные элементы:


for(var i=0; i<radios.length; i++){


Внутри скобок имеется три значения, разделенные точкой с запятой. Этими значениями, по отдельности, являются:


var i=0i<radios.lengthi++


Первое значение является просто заданием значения переменной. Это должно быть теперь



13 из 105