Встроенный объект elements[] - содержит все элементы страницы, поэтому использование объекта elements[] позволяет получить доступ к любому элементу на странице в тех случаях, когда использование других методов невозможно.
Использование elements[]
Для обращения к какому-либо из полей формы принято использовать имя этого поля, но бывают ситуации, когда обращение к полю по имени является не совсем оправданным. Например если у нас существует множество форм на странице, и нам необходимо изменить значения метода отправки данных для каждой из них.
В такой ситуации наиболее логичным будет создать цикл, который будет перебирать все формы по их индексу и менять значение их первого поля.
Ну и как всегда небольшой пример:
<FORM NAME=fe>
<INPUT NAME=fe1 SIZE=30 MAXLENGTH=30>
<INPUT TYPE=button VALUE="Обращение по имени" onClick="document.fe.fe1.value='Обращение по имени';">
<INPUT TYPE=button VALUE="Обращение по индексу" onClick="document.fe.elements[0].value='Обращение по индексу';">
<INPUT TYPE=button VALUE="Определить число полей формы" onClick="document.fe.elements[0].value=document.forms[0].elements.length;">
<INPUT TYPE=reset VALUE="Очистить">
</FORM>
В примере мы создаем 5 полей, 4 из которых являются кнопками и одно текстовым полем.
Используя первую кнопку мы можем изменить значение текстового поля, обратившись к нему по индексу:
onClick="document.fe.fe1.value='Обращение по имени';
Второй кнопкой мы производим аналогичное действие, но на этот раз обращение к полю формы происходит по индексу:
onClick="document.fe.elements[0].value='Обращение по индексу';
Нажав на третью кнопку мы можем определить число полей нашей формы путем использования свойства length объекта elements: