Свойство target определяет имя окна, в которое следует загружать результат обращения к CGI-скрипту. При этом всегда есть альтернативы: можно использовать значение этого свойства внутри JavaScript-программ для указания окна или фрейма, куда требуется загружать результат работы CGI-скрипта, а можно получить идентификатор окна или задействовать встроенный массивframes[0] и свойства окна opener, top и parent. Кроме того, для загрузки внешнего файла в некоторое окно или фрейм можно также применить метод window.open(). Все эти варианты будут продемонстрированы в разделе "Передача данных во фрейм".
Свойство encoding объекта Form (а также атрибут enctype контейнера FORM ) задает, каким образом данные из формы должны быть закодированы перед их отправкой на сервер. Возможные значения:
Значения свойства encoding объекта Form
Значение
Описание
application/x-www-form-urlencoded
Это значение по умолчанию. Означает, что в данных, передаваемых на сервер, пробелы заменяются на "+", а специальные символы заменяются на их 16-ричное ASCII значение, например, буква Щ заменяется на %D0%A9.
text/plain
Пробелы заменяются на "+", но специальные символы не кодируются (передаются как есть).
multipart/form-data
Никакие символы не кодируются (они передаются как есть). Данное значение необходимо указывать, если в форме имеются элементы отправки файлов:<INPUT TYPE=file>.
Коллекция elements[]
При генерации встроенного в документ объекта Form браузер создает и связанный с ним массив (коллекцию ) полей формы elements[]. Обычно к полям обращаются по имени, но можно обращаться и по индексу массива полей формы:
<FORM NAME=f><INPUT NAME=e SIZE=40><BR><INPUT TYPE=button VALUE="Ввести текст по имени элемента" onClick="document.f.e.value='Текст введен по имени элемента';"><BR><INPUT TYPE=button VALUE="Ввести текст по индексу элемента" onClick="document.f.elements[0].value='Текст введен по индексу элемента';"><BR><INPUT TYPE=reset VALUE="Очистить"></FORM>
Индексирование полей в массиве начинается с нуля. Общее число полей в форме f доступно двумя способами: как свойство массива document.f.elements.length и как свойство объекта формы: document.f.length.
Метод submit()
Метод submit() позволяет проинициировать передачу введенных в форму данных на сервер:
<FORM NAME=f ACTION="http://www.intuit.ru/rating_students/">Ваше имя пользователя на intuit:<INPUT NAME=query></FORM><A HREF="javascript:document.f.submit();">Посмотреть рейтинг</A>
Как видите, кнопки отправки ( submit ) у формы нет, но нажав на ссылку, мы выполняем отправку данных на сервер. Обычно при такой "скрытой" отправке данных на сервер браузеры, в целях безопасности, запрашивают подтверждение, действительно ли пользователь желает отправить данные. Отправка данных путем вызова метода submit() имеет отличия от нажатия пользователем кнопки INPUT типа TYPE=submit ; их мы рассмотрим в конце лекции.
Метод reset()
Метод reset() (не путать с обработчиком события onReset, рассматриваемым ниже) позволяет восстановить значения полей формы, заданные по умолчанию. Другими словами, вызов методаreset() равносилен нажатию на кнопку INPUT типа TYPE=reset, но при этом саму эту кнопку создавать не требуется.
<FORM NAME=f><INPUT VALUE="Значение по умолчанию" SIZE=30><INPUT TYPE=button VALUE="Изменим текст в поле ввода" onClick="document.f.elements[0].value='Изменили текст';"></FORM><A HREF="javascript:document.f.reset();void(0);">Установили значение по умолчанию</A>
В данном примере если кликнуть по гипертекстовой ссылке, то в форме происходит восстановление значений полей по умолчанию.