HTMLFormElement: свойство elements
Базовая Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Свойство HTMLFormElement elements возвращает HTMLFormControlsCollection, содержащий все элементы управления формой, содержащиеся в элементе <form>.
Отдельно вы можете получить просто количество элементов управления формой, используя свойство length.
Вы можете получить доступ к определенному элементу управления формой в возвращаемом наборе, используя либо индекс, либо атрибуты элемента name или id.
До HTML 5 возвращаемый объект был HTMLCollection, на котором HTMLFormControlsCollection основан.
Примечание: Аналогично, вы можете получить список всех форм, содержащихся в данном документе, используя свойство документа forms.
Значение
HTMLFormControlsCollection, содержащий все элементы управления формой, кроме изображений. Это динамический набор; если к форме добавляются или удаляются элементы управления формой, этот набор будет обновлен, чтобы отразить изменения.
Элементы управления формой в возвращаемом наборе находятся в том же порядке, в котором они появляются в форме, следуя обходу дерева в порядке обхода в глубину.
Возвращаются только следующие элементы:
<button><fieldset>-
<input>(за исключением тех, у которыхtypeявляется"image"по историческим причинам) <object><output><select><textarea>- элементы пользовательского интерфейса, связанные с формой
Примеры
Быстрый пример синтаксиса
В этом примере показано, как получить список элементов управления формой, а также как получить доступ к его членам по индексу и по имени или идентификатору.
<form id="my-form">
<label>
Username:
<input type="text" name="username" />
</label>
<label>
Full name:
<input type="text" name="full-name" />
</label>
<label>
Password:
<input type="password" name="password" />
</label>
</form>
const inputs = document.getElementById("my-form").elements;
const inputByIndex = inputs[0];
const inputByName = inputs["username"];
Доступ к элементам управления формой
В этом примере извлекается список элементов формы, а затем итерируется по списку, ищутся элементы <input> типа "text", чтобы можно было выполнить некоторую обработку.
const inputs = document.getElementById("my-form").elements;
// Iterate over the form controls
for (let i = 0; i < inputs.length; i++) {
if (inputs[i].nodeName === "INPUT" && inputs[i].type === "text") {
// Update text input
inputs[i].value.toLocaleUpperCase();
}
}
Отключение элементов управления формой
const inputs = document.getElementById("my-form").elements;
// Iterate over the form controls
for (let i = 0; i < inputs.length; i++) {
// Disable all form controls
inputs[i].setAttribute("disabled", "");
}
Спецификации
| Спецификация |
|---|
| HTML # dom-form-elements-dev |
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
elements |
1 | 12 | 1 | 8 | 3 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/elements