Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
типо шпоры.docx
Скачиваний:
0
Добавлен:
28.10.2018
Размер:
231.21 Кб
Скачать

46. Формы

Традиционно JavaScript обеспечивает доступ к формам в рамках док (X)HTML посредством объекта Form (в DOM это объект HTMLFormElement) который является дочерним для объекта Document. Как и для всех объектов документа, свойства и методы объекта Form соответствуют возможностям и атрибутам дескриптора <form> (X)HTML, которые показаны ниже:

Таблица. Основные свойства объекта Form Свойство Описание

action Содержит значение атрибута action, указывающее адрес URL для подачи запроса формы с предо ставленными пользователем данными

elements[] Массив объектов, представляющих элементы (поля) формы в рамках данного дескриптора <form>

encoding Содержит значение атрибута enctype, обычно это application/x-www-form-urlencoded, multipart/ form-data или text/plain. Имеет меньший приоритет, чем значение свойства enctype

enctype Рекомендуемое в рамках DOM свойство, обеспечивающее доступ к атрибуту enctype

length Число полей формы в рамках данного дескриптора <form>. Должно совпадать с elements. length

method Значение атрибута method для данного дескриптора <form> - GET или POST

name Имя <form>, заданное атрибутом name. Такое же значение рекомендуется определить и для атрк бута id

target Имя фрейма, в котором должны отображаться результаты подачи запроса формы. Может содержи специальные значения _blank, _parent, _self или _top

Объекты Form имеют также два специальных метода. Метод reset() выполняв очистку полей формы, подобно щелчку на кнопке, определенной с помощью <input type=" reset" /> (кнопка Сброс). Метод submit() запускает процесс отправки формы, подобно щелчку на кнопке, определенной с помощью <input type=" submi" /> (кнопка Подача запроса). Кроме наличия возможностей очистки и отправки формы часто требуется реакция на эти события, поэтому дескриптор <form> поддерж соответствующие атрибуты обработки событий onreset и onsubmit. Сценарии обработчиков событий могут возвращать значение false, чтобы отменить очисть подачу запроса формы. Возвращение значения true (или невозвращение значения вообще).

Доступ к форме можно осуществить как минимум тремя способами: через document.forms[ ] по индексу, через document.forms[ ] по имени или посредством обычного механизма доступа к элементу (например, с помощью document.имяФормы или document. getElementById(), если браузер обеспечивает поддержку DOM).

можнo использовать window.document.forms[0] (если форма является первой на странице), window.document.forms['customerform'] или window.document.customerform, точно так же, как и в случае любой другой коллекции JavaScript.

При использовании коллекции forms[ ] доступ к форме по имени более предпочтителен по сравнению с доступом к ней по индексу, поскольку порядок следования к дескрипторов <form> в документе может меняться.

очно так же, как объект Document содержит коллекцию объектов, представляющих дескрипторы <form>, каждый объект формы содержит коллекцию elements[ ], обеспечивающую доступ к полям формы. Так, для формы из предыдущего примера, window.document.customerform.elements[0] соответствует первому полю формы. Можно получить доступ к полям формы и по имени, например, с помощью window.document.customerform.firstname или window.document.customerform.elements["firstname"].

Выяснив значение свойства length коллекции elements[ ] (window.document.customerform.elements.length), можно выполнить проход по всем элементам коллекции полей формы. Для удобства значение свойства length коллекции elements[ ] хранится и в объекте Form. Это обеспечивает более короткий путь к значению, характеризующему число полей: document.customerform.length.