Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The form read-only property of the ElementInternals interface returns the HTMLFormElement associated with this element.
An HTMLFormElement.
The following example shows a custom checkbox component inside a form with an ID of myForm. Printing form.length to the console, gives us the value of HTMLFormElement.length.
<form id="myForm"> <custom-checkbox id="custom-checkbox"></custom-checkbox> <custom-label for="custom-checkbox">Join newsletter</custom-label> </form>
class CustomCheckbox extends HTMLElement {
static formAssociated = true;
#internals;
constructor() {
super();
this.#internals = this.attachInternals();
}
connectedCallback() {
console.log(this.#internals.form.length);
}
}
window.customElements.define("custom-checkbox", CustomCheckbox);
| Specification |
|---|
| HTML> # dom-elementinternals-form> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
form |
77 | 79 | 98 | 64 | 16.4 | 77 | 98 | 55 | 16.4 | 12.0 | 77 | 16.4 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/form