Document: forms property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The forms
read-only property of
the Document
interface returns an HTMLCollection
listing
all the <form>
elements contained in the document.
Note: Similarly, you can access a list of a form's component user
input elements using the HTMLFormElement.elements
property.
Value
An HTMLCollection
object listing all of the document's forms. Each item
in the collection is a HTMLFormElement
representing a single
<form>
element.
If the document has no forms, the returned collection is empty, with a length of zero.
Examples
Getting form information
html
<!doctype html>
<html lang="en">
<head>
<title>document.forms example</title>
</head>
<body>
<form id="robby">
<input
type="button"
onclick="alert(document.forms[0].id);"
value="robby's form" />
</form>
<form id="dave">
<input
type="button"
onclick="alert(document.forms[1].id);"
value="dave's form" />
</form>
<form id="paul">
<input
type="button"
onclick="alert(document.forms[2].id);"
value="paul's form" />
</form>
</body>
</html>
Getting an element from within a form
js
const selectForm = document.forms[index];
const selectFormElement = document.forms[index].elements[index];
Named form access
html
<!doctype html>
<html lang="en">
<head>
<title>document.forms example</title>
</head>
<body>
<form name="login">
<input name="email" type="email" />
<input name="password" type="password" />
<button type="submit">Log in</button>
</form>
<script>
const loginForm = document.forms.login; // Or document.forms['login']
loginForm.elements.email.placeholder = "test@example.com";
loginForm.elements.password.placeholder = "password";
</script>
</body>
</html>
Specifications
Specification |
---|
HTML Standard # dom-document-forms-dev |
Browser compatibility
BCD tables only load in the browser
See also
- HTML forms
<form>
and theHTMLFormElement
interface