- HTMLFormElement: elements property
- Value
- Examples
- Quick syntax example
- Accessing form controls
- Disabling form controls
- Specifications
- Browser compatibility
- Found a content problem with this page?
- Saved searches
- Use saved searches to filter your results more quickly
- License
- jesuschris/input-list
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Javascript form input list
- # Table of Contents
- # Get all of a Form’s elements using JavaScript
- HTML list Attribute
- Definition and Usage
- Browser Support
- Syntax
- Attribute Values
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
HTMLFormElement: elements property
The HTMLFormElement property elements returns an HTMLFormControlsCollection listing all the form controls contained in the element.
Independently, you can obtain just the number of form controls using the length property.
You can access a particular form control in the returned collection by using either an index or the element’s name or id attributes.
Prior to HTML 5, the returned object was an HTMLCollection , on which HTMLFormControlsCollection is based.
Note: Similarly, you can get a list of all of the forms contained within a given document using the document’s forms property.
Value
An HTMLFormControlsCollection containing all non-image controls in the form. This is a live collection; if form controls are added to or removed from the form, this collection will update to reflect the change.
The form controls in the returned collection are in the same order in which they appear in the form by following a preorder, depth-first traversal of the tree. This is called tree order.
Only the following elements are returned:
Examples
Quick syntax example
In this example, we see how to obtain the list of form controls as well as how to access its members by index and by name or ID.
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"];
Accessing form controls
This example gets the form’s element list, then iterates over the list, looking for elements of type «text» so that some form of processing can be performed on them.
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(); > >
Disabling form controls
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", ""); >
Specifications
Browser compatibility
BCD tables only load in the browser
Found a content problem with this page?
This page was last modified on Apr 7, 2023 by MDN contributors.
Your blueprint for a better internet.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Pure HTML/JS/CSS input-list component.
License
jesuschris/input-list
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Designed to be utilized within normal HTML forms with little to no additional scripting, this component provides an easy to use list interface for your users, and a POSTable, URL encoded JSON array of list values for your server! Awesome!
After preliminary testing, this should be compatible with most modern browsers. 😉
In this demo, two components have been added to a mock-up survey form. Values can be added to these components by using the ‘+’ buttons, and individually removed using the ‘-‘ buttons.
The user can view the serialized contents of the form’s POST data by clicking the ‘submit’ button.
. then place the component declaration in a form, or anywhere else on your page.
Simple List Feel free to enter all kinds of simple stuff into this list. Wow.
The rest of the list structure is dynamically generated using javascript.
Any values added to the list are recorded in a URL encoded JSON array on a hidden input form element. For example, if the above component were to be placed in an HTML form, the values ‘Chester’ and ‘Lauren’ added to the list, and the form were to be submitted, the following would appear in the form’s serialized POST data:
simpleList=%255B%2522Chester%2522%252C%2522Lauren%2522%255D
Javascript form input list
Last updated: Jan 12, 2023
Reading time · 3 min
# Table of Contents
# Get all of a Form’s elements using JavaScript
To get all the elements in a form:
- Select the form element.
- Use the elements property to get a collection of the form’s elements.
- Optionally, convert the collection to an array using the Array.from() method.
Here is the HTML for the example.
Copied!DOCTYPE html> html lang="en"> head> title>bobbyhadz.comtitle> meta charset="UTF-8" /> head> body> form id="my-form"> input type="text" id="first_name" name="first_name" /> input type="text" id="last_name" name="last_name" /> textarea id="message" name="message" rows="5" cols="30">textarea> input type="submit" value="Submit" /> form> script src="index.js"> script> body> html>
And here is the related JavaScript code.
Copied!const form = document.getElementById('my-form'); // ✅ Get all form elements const formElements = Array.from(form.elements); formElements.forEach(element => console.log(element); >); console.log('--------------------------'); // ✅ Get only the input elements in a form const onlyInputs = document.querySelectorAll('#my-form input'); onlyInputs.forEach(input => console.log(input); >);
We selected the form element using the document.getElementById() method.
Copied!const form = document.getElementById('my-form');
The elements property on the form returns a collection containing all of the form controls.
Copied!const form = document.getElementById('my-form'); // ✅ Get all form elements const formElements = Array.from(form.elements);
HTML list Attribute
An element with pre-defined values in a :
Definition and Usage
Browser Support
The numbers in the table specify the first browser version that fully supports the attribute.
Attribute | |||||
---|---|---|---|---|---|
list | 20.0 | 10.0 | 4.0 | Not supported | 9.6 |
Syntax
Attribute Values
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.