
- •История создания и и спользования javascript
- •3. Базовые возможности языка JavaScript. Типы данных.
- •4. Базовые возможности языка JavaScript. Функции и объекты.
- •5. Базовые возможности языка js. Блоки.
- •6. Примитивные типы даны в js
- •8. Преобразование типов. Слабый контроль типов.
- •9. Принципы построения операторов. Арифметические операции.
- •24.Объект Math
- •25. Объекты связанные с типами данных
- •26. Регулярное выражение. Основные понятия.
- •33. Обход дерева dom
- •34. События в js
- •35. Базовая модель событий.
- •36. События мыши, клавиатуры, браузера
- •37. События интерфейса пользователя, мутации. Создание событий.
- •38. Объект Window. Создание диалоговых окон. Открытие и закрытие окон.
- •39. Управление окнами
- •40.События объекта window
- •41. Фреймы.
- •42. Расширения window
- •43. Объект Document. Свойства объекта Document
- •44. Методы объекта Document
- •45. Доступ к элементам html – документа
- •46. Формы
- •47. Поля формы
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.