Document forms javascript: Document.forms — Web APIs | MDN

.forms — JavaScript — Дока

Кратко

Секция статьи «Кратко»

forms — это поле объекта document. Оно хранит коллекцию всех элементов <form>, которые есть на текущей странице.

Коллекция доступна только для чтения.

Как пишется

Секция статьи «Как пишется»

Вызывается обращением к свойству объекта document. Так можно получить коллекцию всех форм:

const collection = document.forms
          const collection = document.forms

Как пользоваться

Секция статьи «Как пользоваться»

Для примера создадим три формы на одной странице: форму для применения промокода, форму с полем для подписки на рассылку, и форму авторизации с помощью номера телефона.

<form>  <label for="promocode">Промокод</label>  <input type="text" name="promocode" placeholder="WIN-1234" required>  <button type="submit">Применить</button></form>...<form>  <label for="email">Почта</label>  <input type="email" name="email" placeholder="email@example. com" required>  <button type="submit">Подписаться</button></form>...<form name="loginFormName">  <label for="phone">Ваш номер</label>  <input type="tel" name="phone" placeholder="776-2323" required>  <button type="submit">Отправить код подтверждения</button></form>
          <form>
  <label for="promocode">Промокод</label>
  <input type="text" name="promocode" placeholder="WIN-1234" required>
  <button type="submit">Применить</button>
</form>
...
<form>
  <label for="email">Почта</label>
  <input type="email" name="email" placeholder="[email protected]" required>
  <button type="submit">Подписаться</button>
</form>
...
<form name="loginFormName">
  <label for="phone">Ваш номер</label>
  <input type="tel" name="phone" placeholder="776-2323" required>
  <button type="submit">Отправить код подтверждения</button>
</form>

При обращении к свойству forms мы получим живую коллекцию HTMLCollection, которая очень напоминает массив, но позволяет также обращаться к элементам по их имени или идентификатору.

Формы, у которых указаны атрибуты id или name, можно получить по значениям этих атрибутов. В остальных случаях получить форму можно по индексу, который совпадает с порядком описания форм на странице.

Доступ к формам

Секция статьи «Доступ к формам»

Первая форма в примере выше не имеет атрибутов. Единственный способ обращения к ней — через её индекс в коллекции:

document.forms[0]
          document.forms[0]

У второй формы задан атрибут id, а значит, обращаться можно и по значению атрибута, и по индексу:

document.forms['subscriptionFormId']document.forms.subscriptionFormIddocument.forms[1]
          document.forms['subscriptionFormId']
document.forms.subscriptionFormId
document.forms[1]

Третья форма содержит как атрибут id, так и name. У нас появляется возможность получить форму ещё и по имени, указанному в атрибуте name:

// По имени:document. forms['loginFormName']document.forms.loginFormName// По id:document.forms['loginFormId']document.forms.loginFormId// По индексу:document.forms[2]
          // По имени:
document.forms['loginFormName']
document.forms.loginFormName
// По id:
document.forms['loginFormId']
document.forms.loginFormId
// По индексу:
document.forms[2]

Атрибуты имени и идентификатора не конфликтуют, позволяя обращаться к форме и так, и так.

В случае, если элементов <form> на странице нет, коллекция будет доступной, но пустой. Её длина будет равна нулю.

💡

По аналогии со свойством length у массивов, можно получить общее количество форм на странице, запросив значение длины коллекции:

document.forms.length
          document.forms.length

Взаимодействие с полями

Секция статьи «Взаимодействие с полями»

Элементы коллекции document.forms имеют тип HTMLFormElement и фактически являются ссылками на соответствующие элементы форм на странице.

Например, чтобы получить номер телефона в форме логина, мы напишем:

const phone = document.forms.loginFormName.phone.value
          const phone = document.forms.loginFormName.phone.value

Выключим кнопку отправки для промокода:

document.forms[0].querySelector('[type="submit"]').disabled = true
          document.forms[0].querySelector('[type="submit"]').disabled = true

Или даже вызовем интерактивную валидацию формы подписки:

document.forms.subscriptionFormId.reportValidity()
          document.forms.subscriptionFormId.reportValidity()

Другими словами, работа с формой и её полями в этом случае ничем не отличается от взаимодействия с DOM-элементом формы, запрошенным по селектору.

Читайте подробнее об этом в статье «Работа с формами».

Как понять

Секция статьи «Как понять»

Все элементы <form> на странице отслеживаются браузером в реальном времени и доступны в специальном поле объекта document. В любой момент, из любого нашего скрипта, независимо от контекста.

Благодаря этому мы получаем ещё один вариант взаимодействия с формами в обход использования любых селекторов.

Так как свойство form возвращает коллекцию, то можно пройтись по всем формам циклом. Это может быть полезно для глобальных операций на странице. Например, для сбора аналитики или отключения отправки форм из-за потери связи с сервером.

Ещё один плюсик в копилку использования тега <form> 🙂

На практике

Секция статьи «На практике»

Владислав Чичужко советует

Секция статьи «Владислав Чичужко советует»

🛠 По коллекции можно пройтись методами, предусмотренными для массивов, но сперва необходимо обернуть её в метод Array.from() или использовать цикл for...of:

Array.from(document.forms). forEach((form) => {  console.log(form)})for (const form of document.forms) {  console.log(form)}
          Array.from(document.forms).forEach((form) => {
  console.log(form)
})
for (const form of document.forms) {
  console.log(form)
}

🛠 Формы, которым задан атрибут name, также попадают и в сам объект document. К ним можно обращаться напрямую, в обход коллекции document.forms:

document.myFormName
          document.myFormName

HTML DOM Document Forms Коллекция

❮ Предыдущая
❮ Ссылка на объект документа
Далее ❯

Пример

Количество элементов

в документе:

let num = document.forms.length;

Попробуйте сами »

Получите идентификатор первого элемента

:

let id = document.forms[0].id;

Попробуйте сами »

Получите идентификатор первого элемента

:

let id = document. forms.item(0).id;

Попробуйте сами »

Получите HTML-содержимое элемента

с помощью:

let html = document.forms.namedItem(«myCarForm»).innerHTML;

Попробуйте сами »

Другие примеры ниже.


Определение и использование

Свойство forms возвращает коллекцию всех элементов

в документе.

Свойство форм возвращает HTMLCollection.

Свойство формы доступно только для чтения.

См. также:

Объект формы.

Коллекция элементов формы.


HTMLCollection

HTMLCollection представляет собой массивоподобную коллекцию (список) элементов HTML.

Доступ к элементам коллекции возможен по индексу (начинается с 0).

Свойство length возвращает количество элементов в коллекции.


Синтаксис

document.forms

Свойства

Свойство Описание
длина Количество элементов в коллекции.

Методы

Метод Описание
[ индекс ] Возвращает элемент с указанным индексом (начинается с 0).
Возвращает null , если индекс вне допустимого диапазона.
товар( индекс ) Возвращает элемент с указанным индексом (начинается с 0).
Возвращает null , если индекс выходит за пределы допустимого диапазона.
именованный элемент ( идентификатор ) Возвращает элемент с указанным идентификатором.
Возвращает null , если идентификатор не существует.

Возвращаемое значение

Тип Описание
Объект Объект HTMLCollection.
Все элементы

в документе.
Сортировка в порядке их появления в исходном коде


Другие примеры

Перебрать все элементы

и вывести идентификатор каждой формы:

constforms = document. forms;
пусть текст = «»;
for (пусть i = 0; i   text += forms[i].id + «
«;

}

Попробуйте сами »

Использование коллекции form.elements для получения
значение каждого элемента в форме:

const form = document.forms[0];
пусть текст = «»;
for (пусть i = 0; i < form.length; i++) {
  text += form.elements[i].value + «
«;
}

Попробуйте сами »


Поддержка браузера

document.forms — это функция DOM Level 1 (1998).

Полностью поддерживается во всех браузерах:

Хром ИЭ Край Фаерфокс Сафари Опера
Да 9-11 Да Да Да Да

❮ Предыдущий
❮ Ссылка на объект документа
Следующий ❯

НОВИНКА

Мы только что запустили
Видео W3Schools

Узнать

ВЫБОР ЦВЕТА
КОД ИГРЫ

Играть в игру




Лучшие учебники

Учебник HTML
Учебник CSS
Учебник JavaScript
Как Учебник
Учебник SQL
Учебник Python
Учебник W3. CSS
Учебник Bootstrap
Учебник PHP
Учебник Java
Учебник C++
Учебник jQuery

9008 СправочникСправочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

3 Top9 Examples
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


ФОРУМ |
О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения.
Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания.
Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования,
куки-файлы и политика конфиденциальности.

Copyright 1999-2022 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

Коллекция форм HTML DOM

Объект документа

Пример

Узнать количество элементов

в документе:

переменная х = документ.формы.длина;

Результатом x будет:

1

Попробуйте сами »

Другие примеры «Попробуйте сами» ниже.


Определение и использование

Коллекция форм возвращает коллекцию всех элементов

в
документ.

Примечание: Элементы в коллекции сортируются по мере появления в
исходный код.

Совет: Используйте элементы
коллекция объекта формы, чтобы вернуть коллекцию всех элементов формы.


Поддержка браузера

Коллекция
формы Да Да Да Да Да

Синтаксис

document. forms

Свойства

Свойства Описание
длина Возвращает количество элементов

в коллекции.

Примечание: Это свойство доступно только для чтения

Методы

Метод Описание
[ индекс ] Возвращает элемент

из коллекции с указанным индексом
(начинается с 0).

Примечание. Возвращает значение null, если индекс
номер вне допустимого диапазона

товар( индекс ) Возвращает элемент

из коллекции с указанным индексом
(начинается с 0).

Примечание: Возвращает ноль, если номер индекса
вне диапазона

именованный элемент ( идентификатор ) Возвращает элемент

из коллекции с указанным идентификатором.

Примечание: Возвращает null, если идентификатор не существует

Технические детали

Версия DOM: Основной объект документа уровня 1
Возвращаемое значение: Объект HTMLCollection, представляющий все элементы

в
документ. Элементы в коллекции сортируются по мере их появления в
исходный код

Дополнительные примеры

Пример

[ индекс ]

Получить идентификатор первого элемента

(индекс 0) в документе:

вар х = документ.формы[0].идентификатор;

Результатом x будет:

моя машинаформа

Попробуйте сами »

Пример

item( index )

Получить идентификатор первого элемента

(индекс 0) в документе:

вар х = документ.forms.item (0).id;

Результатом x будет:

myCarForm

Попробуйте сами »

Пример

namedItem( id )

Получите содержимое HTML элемента

с помощью
документ:

var x = document.