HTMLInputElement
{{APIRef("HTML DOM")}}
The HTMLInputElement
interface provides special properties and methods for manipulating the options, layout, and presentation of {{HTMLElement("input")}}
elements.
{{InheritanceDiagram}}
Instance properties
Also inherits properties from its parent interface, {{domxref("HTMLElement")}}
.
Some properties only apply to input element types that support the corresponding attributes.
-
{{domxref("HTMLInputElement.align", "align")}}
{{Deprecated_Inline}}
- : A string that represents the alignment of the element. Use CSS instead.
-
{{domxref("HTMLInputElement.defaultValue", "defaultValue")}}
- : A string that represents the default value as originally specified in the HTML that created this object.
-
{{domxref("HTMLInputElement.dirName", "dirName")}}
- : A string that represents the directionality of the element.
-
{{domxref("HTMLInputElement.incremental", "incremental")}}
{{Non-standard_Inline}}
- : A boolean that represents the search event fire mode, if
true
, fires on every keypress, or on clicking the cancel button; otherwise fires when pressing Enter.
- : A boolean that represents the search event fire mode, if
-
{{domxref("HTMLInputElement.labels", "labels")}}
{{ReadOnlyInline}}
- : Returns a list of
{{ HTMLElement("label") }}
elements that are labels for this element.
- : Returns a list of
-
{{domxref("HTMLInputElement.list", "list")}}
{{ReadOnlyInline}}
- : Returns the element pointed to by the
list
attribute. The property may benull
if no HTML element is found in the same tree.
- : Returns the element pointed to by the
-
{{domxref("HTMLInputElement.multiple", "multiple")}}
- : A boolean that represents the element’s
multiple
attribute, indicating whether more than one value is possible (e.g., multiple files).
- : A boolean that represents the element’s
-
{{domxref("HTMLInputElement.name", "name")}}
- : A string that represents the element’s
name
attribute, containing a name that identifies the element when submitting the form.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.popoverTargetAction", "popoverTargetAction")}}
- : Gets and sets the action to be performed (
"hide"
,"show"
, or"toggle"
) on a popover element being controlled by an{{HTMLElement("input")}}
element oftype="button"
. It reflects the value of thepopovertargetaction
HTML attribute.
- : Gets and sets the action to be performed (
-
{{domxref("HTMLInputElement.popoverTargetElement", "popoverTargetElement")}}
- : Gets and sets the popover element to control via an
{{HTMLElement("input")}}
element oftype="button"
. The JavaScript equivalent of thepopovertarget
HTML attribute.
- : Gets and sets the popover element to control via an
-
{{domxref("HTMLInputElement.step", "step")}}
- : A string that represents the element’s
step
attribute, which works withmin
andmax
to limit the increments at which a numeric or date-time value can be set. It can be the stringany
or a positive floating point number. If this is not set toany
, the control accepts only values at multiples of the step value greater than the minimum.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.type", "type")}}
-
{{domxref("HTMLInputElement.useMap", "useMap")}}
{{Deprecated_Inline}}
- : A string that represents a client-side image map.
-
{{domxref("HTMLInputElement.value", "value")}}
- : A string that represents the current value of the control. If the user enters a value different from the value expected, this may return an empty string.
-
{{domxref("HTMLInputElement.valueAsDate", "valueAsDate")}}
- : A
{{jsxref("Date")}}
that represents the value of the element, interpreted as a date, ornull
if conversion is not possible.
- : A
-
{{domxref("HTMLInputElement.valueAsNumber", "valueAsNumber")}}
- : A number that represents the value of the element, interpreted as one of the following, in order: A time value, a number, or
NaN
if conversion is impossible.
- : A number that represents the value of the element, interpreted as one of the following, in order: A time value, a number, or
Instance properties related to the parent form
-
{{domxref("HTMLInputElement.form", "form")}}
{{ReadOnlyInline}}
- : Returns a reference to the parent
{{HTMLElement("form")}}
element.
- : Returns a reference to the parent
-
{{domxref("HTMLInputElement.formAction", "formAction")}}
- : A string that represents the element’s
formaction
attribute, containing the URL of a program that processes information submitted by the element. This overrides theaction
attribute of the parent form.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.formEnctype", "formEnctype")}}
- : A string that represents the element’s
formenctype
attribute, containing the type of content that is used to submit the form to the server. This overrides theenctype
attribute of the parent form.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.formMethod", "formMethod")}}
- : A string that represents the element’s
formmethod
attribute, containing the HTTP method that the browser uses to submit the form. This overrides themethod
attribute of the parent form.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.formNoValidate", "formNoValidate")}}
- : A boolean that represents the element’s
formnovalidate
attribute, indicating that the form is not to be validated when it is submitted. This overrides thenovalidate
attribute of the parent form.
- : A boolean that represents the element’s
-
{{domxref("HTMLInputElement.formTarget", "formTarget")}}
- : A string that represents the element’s
formtarget
attribute, containing a name or keyword indicating where to display the response that is received after submitting the form. This overrides thetarget
attribute of the parent form.
- : A string that represents the element’s
Instance properties that apply to any type of input element that is not hidden
-
{{domxref("HTMLInputElement.disabled", "disabled")}}
-
{{domxref("HTMLInputElement.required", "required")}}
- : A boolean that represents the element’s
required
attribute, indicating that the user must fill in a value before submitting a form.
- : A boolean that represents the element’s
-
{{domxref("HTMLInputElement.validationMessage", "validationMessage")}}
{{ReadOnlyInline}}
- : Returns a localized message that describes the validation constraints that the control does not satisfy (if any). This is the empty string if the control is not a candidate for constraint validation (
{{domxref("HTMLInputElement.willValidate", "willValidate")}}
isfalse
), or it satisfies its constraints. This value can be set by the{{domxref("HTMLInputElement.setCustomValidity()", "setCustomValidity()")}}
method.
- : Returns a localized message that describes the validation constraints that the control does not satisfy (if any). This is the empty string if the control is not a candidate for constraint validation (
-
{{domxref("HTMLInputElement.validity", "validity")}}
{{ReadOnlyInline}}
- : Returns the element’s current validity state.
-
{{domxref("HTMLInputElement.willValidate", "willValidate")}}
{{ReadOnlyInline}}
- : Returns whether the element is a candidate for constraint validation. It is
false
if any conditions bar it from constraint validation, including: itstype
is one ofhidden
,reset
orbutton
, it has a{{HTMLElement("datalist")}}
ancestor or itsdisabled
property istrue
.
- : Returns whether the element is a candidate for constraint validation. It is
Instance properties that apply only to elements of type checkbox or radio
-
{{domxref("HTMLInputElement.checked", "checked")}}
- : A boolean that represents the current state of the element.
-
{{domxref("HTMLInputElement.defaultChecked", "defaultChecked")}}
- : A boolean that represents the default state of a radio button or checkbox as originally specified in HTML that created this object.
-
{{domxref("HTMLInputElement.indeterminate", "indeterminate")}}
- : A boolean that represents whether the checkbox or radio button is in indeterminate state. For checkboxes, the effect is that the appearance of the checkbox is obscured/greyed in some way as to indicate its state is indeterminate (not checked but not unchecked). Does not affect the value of the
checked
attribute, and clicking the checkbox will set the value to false.
- : A boolean that represents whether the checkbox or radio button is in indeterminate state. For checkboxes, the effect is that the appearance of the checkbox is obscured/greyed in some way as to indicate its state is indeterminate (not checked but not unchecked). Does not affect the value of the
Instance properties that apply only to elements of type image
-
{{domxref("HTMLInputElement.alt", "alt")}}
- : A string that represents the element’s
alt
attribute, containing alternative text to use.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.height", "height")}}
- : A string that represents the element’s
height
attribute, which defines the height of the image displayed for the button.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.src", "src")}}
- : A string that represents the element’s
src
attribute, which specifies a URI for the location of an image to display on the graphical submit button.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.width", "width")}}
- : A string that represents the element’s
width
attribute, which defines the width of the image displayed for the button.
- : A string that represents the element’s
Instance properties that apply only to elements of type file
-
{{domxref("HTMLInputElement.accept", "accept")}}
- : A string that represents the element’s
accept
attribute, containing comma-separated list of file types that can be selected.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.capture", "capture")}}
- : A string that represents the element’s
capture
attribute, indicating the media capture input method in file upload controls.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.files", "files")}}
- : A
{{domxref("FileList")}}
that represents the files selected for upload.
- : A
-
{{domxref("HTMLInputElement.webkitdirectory", "webkitdirectory")}}
- : A boolean that represents the
webkitdirectory
attribute. Iftrue
, the file-system-picker interface only accepts directories instead of files.
- : A boolean that represents the
-
{{domxref("HTMLInputElement.webkitEntries", "webkitEntries")}}
{{ReadOnlyInline}}
- : Describes the currently selected files or directories.
Instance properties that apply only to visible elements containing text or numbers
-
{{domxref("HTMLInputElement.autocomplete", "autocomplete")}}
- : A string that represents the element’s
autocomplete
attribute, indicating whether the value of the control can be automatically completed by the browser.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.max", "max")}}
-
{{domxref("HTMLInputElement.maxLength", "maxLength")}}
- : A number that represents the element’s
maxlength
attribute, containing the maximum number of characters (in Unicode code points) that the value can have.
- : A number that represents the element’s
-
{{domxref("HTMLInputElement.min", "min")}}
-
{{domxref("HTMLInputElement.minLength", "minLength")}}
- : A number that represents the element’s
minlength
attribute, containing the minimum number of characters (in Unicode code points) that the value can have.
- : A number that represents the element’s
-
{{domxref("HTMLInputElement.pattern", "pattern")}}
- : A string that represents the element’s
pattern
attribute, containing a regular expression that the control’s value is checked against. Use thetitle
attribute to describe the pattern to help the user. This attribute only applies when the value of thetype
attribute istext
,search
,tel
,url
oremail
.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.placeholder", "placeholder")}}
- : A string that represents the element’s
placeholder
attribute, containing a hint to the user of what can be entered in the control. The placeholder text must not contain carriage returns or line-feeds. This attribute only applies when the value of thetype
attribute istext
,search
,tel
,url
oremail
.
- : A string that represents the element’s
-
{{domxref("HTMLInputElement.readOnly", "readOnly")}}
-
{{domxref("HTMLInputElement.selectionDirection", "selectionDirection")}}
- : A string that represents the direction in which selection occurred. Possible values are:
forward
(the selection was performed in the start-to-end direction of the current locale),backward
(the opposite direction) ornone
(the direction is unknown).
- : A string that represents the direction in which selection occurred. Possible values are:
-
{{domxref("HTMLInputElement.selectionEnd", "selectionEnd")}}
- : A number that represents the end index of the selected text. When there’s no selection, this returns the offset of the character immediately following the current text input cursor position.
-
{{domxref("HTMLInputElement.selectionStart", "selectionStart")}}
- : A number that represents the beginning index of the selected text. When nothing is selected, this returns the position of the text input cursor (caret) inside of the
{{HTMLElement("input")}}
element.
- : A number that represents the beginning index of the selected text. When nothing is selected, this returns the position of the text input cursor (caret) inside of the
-
{{domxref("HTMLInputElement.size", "size")}}
Instance methods
Also inherits methods from its parent interface, {{domxref("HTMLElement")}}
.
-
{{domxref("HTMLInputElement.checkValidity()", "checkValidity()")}}
- : Returns a boolean value that is
false
if the element is a candidate for constraint validation, and it does not satisfy its constraints. In this case, it also fires an{{domxref("HTMLInputElement/invalid_event", "invalid")}}
event at the element. It returnstrue
if the element is not a candidate for constraint validation, or if it satisfies its constraints.
- : Returns a boolean value that is
-
{{domxref("HTMLInputElement.reportValidity()", "reportValidity()")}}
- : Runs the
checkValidity()
method, and if it returns false (for an invalid input or no pattern attribute provided), then it reports to the user that the input is invalid in the same manner as if you submitted a form.
- : Runs the
-
{{domxref("HTMLInputElement.select()", "select()")}}
- : Selects all the text in the input element, and focuses it so the user can subsequently replace all of its content.
-
{{domxref("HTMLInputElement.setCustomValidity()", "setCustomValidity()")}}
- : Sets a custom validity message for the element. If this message is not the empty string, then the element is suffering from a custom validity error, and does not validate.
-
{{domxref("HTMLInputElement.setRangeText()", "setRangeText()")}}
- : Replaces a range of text in the input element with new text.
-
{{domxref("HTMLInputElement.setSelectionRange()", "setSelectionRange()")}}
- : Selects a range of text in the input element (but does not focus it).
-
{{domxref("HTMLInputElement.showPicker()", "showPicker()")}}
- : Shows a browser picker for date, time, color, and files.
-
{{domxref("HTMLInputElement.stepDown()", "stepDown()")}}
-
{{domxref("HTMLInputElement.stepUp()", "stepUp()")}}
Events
Also inherits events from its parent interface, {{domxref("HTMLElement")}}
.
Listen to these events using {{domxref("EventTarget.addEventListener", "addEventListener()")}}
or by assigning an event listener to the oneventname
property of this interface:
{{domxref("HTMLInputElement/cancel_event", "cancel")}}
event- : Fired when the user cancels the file picker dialog via the Esc key or the cancel button and when the user re-selects the same files that were previously selected.
{{domxref("HTMLInputElement/invalid_event", "invalid")}}
event- : Fired when an element does not satisfy its constraints during constraint validation.
{{domxref("HTMLInputElement/search_event", "search")}}
event{{Non-standard_Inline}}
- : Fired when a search is initiated on an
{{HTMLElement("input")}}
oftype="search"
.
- : Fired when a search is initiated on an
{{domxref("HTMLInputElement/select_event", "select")}}
event- : Fired when some text has been selected.
{{domxref("HTMLInputElement/selectionchange_event", "selectionchange")}}
event{{Experimental_Inline}}
- : Fires when the text selection in a
{{HTMLElement("input")}}
element has been changed.
- : Fires when the text selection in a
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- HTML element implementing this interface:
{{HTMLElement("input")}}