The HTMLInputElement
interface provides special properties and methods for manipulating the options, layout, and presentation of <input>
elements.
The HTMLInputElement
interface provides special properties and methods for manipulating the options, layout, and presentation of <input>
elements.
Some properties only apply to input element types that support the corresponding attributes.
align
Deprecated
string
: Represents the alignment of the element. Use CSS instead.
autocapitalize
Experimental
string
: Defines the capitalization behavior for user input. Valid values are none
, off
, characters
, words
or sentences
.
defaultValue
string
: Returns / Sets the default value as originally specified in the HTML that created this object.
dirName
string
: Returns / Sets the directionality of the element.
inputmode
Provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents.
labels
Read only
NodeList
array: Returns a list of <label>
elements that are labels for this element.
list
Read only
HTMLElement
: Returns the element pointed to by the list
attribute. The property may be null
if no HTML element is found in the same tree.
multiple
boolean
: Returns / Sets the element's multiple
attribute, indicating whether more than one value is possible (e.g., multiple files).
name
string
: Returns / Sets the element's name
attribute, containing a name that identifies the element when submitting the form.
popoverTargetAction
Gets and sets the action to be performed ("hide"
, "show"
, or "toggle"
) on a popover element being controlled by an <input>
element of type="button"
. It reflects the value of the popovertargetaction
HTML attribute.
popoverTargetElement
Gets and sets the popover element to control via an <input>
element of type="button"
. The JavaScript equivalent of the popovertarget
HTML attribute.
step
string
: Returns / Sets the element's step
attribute, which works with min
and max
to limit the increments at which a numeric or date-time value can be set. It can be the string any
or a positive floating point number. If this is not set to any
, the control accepts only values at multiples of the step value greater than the minimum.
type
string
: Returns / Sets the element's type
attribute, indicating the type of control to display. For possible values, see the documentation for the type
attribute.
useMap
Deprecated
string
: Represents a client-side image map.
value
string
: Returns / Sets the current value of the control. If the user enters a value different from the value expected, this may return an empty string.
valueAsDate
Date
: Returns / Sets the value of the element, interpreted as a date, or null
if conversion is not possible.
valueAsNumber
double
: Returns the value of the element, interpreted as one of the following, in order: A time value, a number or NaN
if conversion is impossible
form
Read only
HTMLFormElement
: Returns a reference to the parent <form>
element.
formAction
string
: Returns / Sets the element's formaction
attribute, containing the URL of a program that processes information submitted by the element. This overrides the action
attribute of the parent form.
formEnctype
string
: Returns / Sets the element's formenctype
attribute, containing the type of content that is used to submit the form to the server. This overrides the enctype
attribute of the parent form.
formMethod
string
: Returns / Sets the element's formmethod
attribute, containing the HTTP method that the browser uses to submit the form. This overrides the method
attribute of the parent form.
formNoValidate
boolean
: Returns / Sets the element's formnovalidate
attribute, indicating that the form is not to be validated when it is submitted. This overrides the novalidate
attribute of the parent form.
formTarget
string
: Returns / Sets 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 the target
attribute of the parent form.
autofocus
boolean
: Returns / Sets the element's autofocus
attribute, which specifies that a form control should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form element in a document can have the autofocus
attribute.
disabled
boolean
: Returns / Sets the element's disabled
attribute, indicating that the control is not available for interaction. The input values will not be submitted with the form. See also readonly
.
required
boolean
: Returns / Sets the element's required
attribute, indicating that the user must fill in a value before submitting a form.
validationMessage
Read only
string
: 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 (willValidate
is false
), or it satisfies its constraints. This value can be set by the setCustomValidity()
method.
validity
Read only
ValidityState
: Returns the element's current validity state.
willValidate
Read only
boolean
: Returns whether the element is a candidate for constraint validation. It is false
if any conditions bar it from constraint validation, including: its type
is one of hidden
, reset
or button
, it has a <datalist>
ancestor or its disabled
property is true
.
checked
boolean
: Returns / Sets the current state of the element.
defaultChecked
boolean
: Returns / Sets the default state of a radio button or checkbox as originally specified in HTML that created this object.
indeterminate
boolean
: Returns 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.
alt
string
: Returns / Sets the element's alt
attribute, containing alternative text to use.
height
string
: Returns / Sets the element's height
attribute, which defines the height of the image displayed for the button.
src
string
: Returns / Sets the element's src
attribute, which specifies a URI for the location of an image to display on the graphical submit button.
width
string
: Returns / Sets the element's width
attribute, which defines the width of the image displayed for the button.
accept
string
: Returns / Sets the element's accept
attribute, containing comma-separated list of file types that can be selected.
allowdirs
Non-standard
boolean
: Part of the non-standard Directory Upload API. Indicates whether or not to allow directories and files both to be selected in the file list. Implemented only in Firefox and is hidden behind a preference.
files
FileList
: Returns / Sets a list of File
objects representing the files selected for upload.
webkitdirectory
boolean
: Returns the webkitdirectory
attribute. If true
, the file-system-picker interface only accepts directories instead of files.
webkitEntries
FileSystemEntry
array: Describes the currently selected files or directories.
autocomplete
string
: Returns / Sets the element's autocomplete
attribute, indicating whether the value of the control can be automatically completed by the browser.
max
string
: Returns / Sets the element's max
attribute, containing the maximum (numeric or date-time) value for this item, which must not be less than its minimum (min
attribute) value.
maxLength
unsigned long
: Returns / Sets the element's maxlength
attribute, containing the maximum number of characters (in Unicode code points) that the value can have.
min
string
: Returns / Sets the element's min
attribute, containing the minimum (numeric or date-time) value for this item, which must not be greater than its maximum (max
attribute) value.
minLength
unsigned long
: Returns / Sets the element's minlength
attribute, containing the minimum number of characters (in Unicode code points) that the value can have.
pattern
string
: Returns / Sets the element's pattern
attribute, containing a regular expression that the control's value is checked against. Use the title
attribute to describe the pattern to help the user. This attribute only applies when the value of the type
attribute is text
, search
, tel
, url
or email
.
placeholder
string
: Returns / Sets 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 the type
attribute is text
, search
, tel
, url
or email
.
readOnly
boolean
: Returns / Sets the element's readonly
attribute, indicating that the user cannot modify the value of the control. This is ignored if the type
is hidden
, range
, color
, checkbox
, radio
, file
, or a button type.
selectionEnd
unsigned long
: Returns / Sets 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.
selectionStart
unsigned long
: Returns / Sets the beginning index of the selected text. When nothing is selected, this returns the position of the text input cursor (caret) inside of the <input>
element.
selectionDirection
string
: Returns / Sets 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) or none
(the direction is unknown).
size
unsigned long
: Returns / Sets the element's size
attribute, containing visual size of the control. This value is in pixels unless the value of type
is text
or password
, in which case, it is an integer number of characters. Applies only when type
is set to text
, search
, tel
, url
, email
, or password
.
blur()
Removes focus from the input element; keystrokes will subsequently go nowhere.
click()
Simulates a click on the input element.
focus()
Focuses on the input element; keystrokes will subsequently go to this element.
select()
Selects all the text in the input element, and focuses it so the user can subsequently replace all of its content.
setSelectionRange()
Selects a range of text in the input element (but does not focus it).
setRangeText()
Replaces a range of text in the input element with new text.
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.
showPicker()
Shows a browser picker for date, time, color, and files.
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 invalid
event at the element. It returns true
if the element is not a candidate for constraint validation, or if it satisfies its constraints.
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.
stepDown()
Decrements the value
by (step
* n), where n defaults to 1 if not specified. Throws an InvalidStateError
exception:
stepUp()
Increments the value
by (step
* n), where n defaults to 1 if not specified. Throws an InvalidStateError
exception:
Listen to these events using addEventListener()
or by assigning an event listener to the oneventname
property of this interface:
input
Fires when the value
of an <input>
, <select>
, or <textarea>
element has been changed. Note that this is actually fired on the HTMLElement
interface and also applies to contenteditable
elements, but we've listed it here because it is most commonly used with form input elements.
invalid
Fired when an element does not satisfy its constraints during constraint validation.
search
Non-standard
Fired when a search is initiated on an <input>
of type="search"
.
selectionchange
event Experimental
Fires when the text selection in a <input>
element has been changed.
Specification |
---|
HTML Standard # htmlinputelement |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
HTMLInputElement |
1 | 12 | 1 | 5.5 | 8 | 1 | ≤37 | 18 | 4 | 10.1 | 1 | 1.0 |
accept |
1 | 12 | 1 | 6 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
align |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
alt |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
autocomplete |
14 | 12 | 4 | 10 | ≤12.1 | 6 | 4.4 | 18 | 4 | ≤12.1 | 6 | 1.0 |
cancel_event |
113 | 113 | 91 | No | 99 | 16.4 | 113 | 113 | 91 | No | 16.4 | No |
capture |
No | No | No | No | No | No | 4.4 | 25 | 79 | 14 | 10 | 1.5 |
checkValidity |
4 | 12 | 4 | 10 | ≤12.1 | 5 | ≤37 | 18 | 4 | ≤12.1 | 4 | 1.0 |
checked |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
defaultChecked |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
defaultValue |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
dirName |
17 | 79 | 116 | No | ≤12.1 | 6 | 4.4 | 18 | 116 | ≤12.1 | 6 | 1.0 |
disabled |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
files |
2 | 12 | 3 | 10This property is read-only. |
≤12.1 | 4 | ≤37 | 18 | 4 | ≤12.1 | 3 | 1.0 |
form |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
formAction |
9 | 12 | 4 | 10 | ≤12.1 | 5 | 3 | 18 | 4 | ≤12.1 | 4.2 | 1.0 |
formEnctype |
9 | 12 | 4 | 10 | ≤12.1 | 5 | 3 | 18 | 4 | ≤12.1 | 4.2 | 1.0 |
formMethod |
9 | 12 | 4 | 10 | ≤12.1 | 5 | 3 | 18 | 4 | ≤12.1 | 4.2 | 1.0 |
formNoValidate |
4 | 12 | 4 | 10 | ≤12.1 | 5 | ≤37 | 18 | 4 | ≤12.1 | 4 | 1.0 |
formTarget |
9 | 12 | 4 | 10 | ≤12.1 | 5 | 3 | 18 | 4 | ≤12.1 | 4.2 | 1.0 |
height |
21 | 12 | 16 | 5.5 | ≤12.1 | 7 | 4.4 | 25 | 16 | ≤12.1 | 7 | 1.5 |
incremental |
10 | 79 | No | No | 15 | 5 | ≤37 | 18 | No | 14 | 4.2 | 1.0 |
indeterminate |
1 | 12 | 3.6 | 5.5 | ≤12.1 | 3 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
invalid_event |
10 | 12 | 4 | 10 | 10 | 5 | 4 | 18 | 64 | 12 | 5 | 4.0 |
labels |
6 | 18 | 56 | No | ≤12.1 | 5 | 3 | 18 | 56 | ≤12.1 | 4.2 | 1.0 |
list |
20 | 12 | 4 | 10 | ≤12.1 | 12.1 | 4.4.3 | 25 | 4 | ≤12.1 | 12.2 | 1.5 |
max |
4 | 12 | 16 | 10 | ≤12.1 | 5 | ≤37 | 18 | 16 | ≤12.1 | 4 | 1.0 |
maxLength |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
min |
4 | 12 | 16 | 10 | ≤12.1 | 5 | ≤37 | 18 | 16 | ≤12.1 | 4 | 1.0 |
minLength |
40 | 17 | 51 | No | 27 | 10.1 | 40 | 40 | 51 | 27 | 10.3 | 4.0 |
multiple |
2 | 12 | 3.6 | 10 | ≤12.1 | 4 | ≤37 | 18 | 4 | ≤12.1 | 3.2 | 1.0 |
name |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
pattern |
4 | 12 | 4 | 10 | ≤12.1 | 5 | ≤37 | 18 | 4 | ≤12.1 | 4 | 1.0 |
placeholder |
3 | 12 | 4 | 10 | ≤12.1 | 4 | ≤37 | 18 | 4 | ≤12.1 | 3.2 | 1.0 |
popoverTargetAction |
114 | 114 | 114 | No | 100 | 17 | 114 | 114 | No | No | 17 | No |
popoverTargetElement |
114 | 114 | 114 | No | 100 | 17 | 114 | 114 | No | No | 17 | No |
readOnly |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
reportValidity |
40 | 17 | 49 | No | 27 | 10.1 | 40 | 40 | 64 | 27 | 10.3 | 4.0 |
required |
4 | 12 | 4 | 10 | ≤12.1 | 5 | ≤37 | 18 | 4 | ≤12.1 | 4 | 1.0 |
search_event |
1 | 79 | No | No | 15 | 2 | 4.4 | 18 | No | 14 | 1 | 1.0 |
select |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
select_event |
1 | 12 | 6 | 9 | ≤12.1 | 1 | 4.4 | 18 | 6 | ≤12.1 | 1 | 1.0 |
selectionDirection |
15 | 13 | 8 | No | ≤12.1 | 6 | 4.4 | 18 | 8 | ≤12.1 | 6 | 1.0 |
selectionEnd |
1 | 12 | 1 | 9 | ≤12.1 | 1.3 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
selectionStart |
1 | 12 | 1 | 9 | ≤12.1 | 1.3 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
selectionchange_event |
NoAselectionchange event is fired on Document , see Document 's selectionchange event. See bug 1327098 for firing the event on <input> elements. |
NoAselectionchange event is fired on Document , see Document 's selectionchange event. See bug 1327098 for firing the event on <input> elements. |
92 | No | NoAselectionchange event is fired on Document , see Document 's selectionchange event. See bug 1327098 for firing the event on <input> elements. |
No | NoAselectionchange event is fired on Document , see Document 's selectionchange event. See bug 1327098 for firing the event on <input> elements. |
NoAselectionchange event is fired on Document , see Document 's selectionchange event. See bug 1327098 for firing the event on <input> elements. |
92 | NoAselectionchange event is fired on Document , see Document 's selectionchange event. See bug 1327098 for firing the event on <input> elements. |
No | NoAselectionchange event is fired on Document , see Document 's selectionchange event. See bug 1327098 for firing the event on <input> elements. |
setCustomValidity |
4 | 12 | 4 | 10 | ≤12.1 | 5 | ≤37 | 18 | 4 | ≤12.1 | 4 | 1.0 |
setRangeText |
24 | 79 | 27 | No | 15 | 7 | 4.4 | 25 | 27 | 14 | 7 | 1.5 |
setSelectionRange |
1 | 12 | 1 | 9 | 8 | 3 | 4.4 | 18 | 4 | 10.1 | 1 | 1.0 |
showPicker |
99 | 99 | 101 | No | 85 | 16 | 99 | 99 | 101 | 68 | 16 | 18.0 |
size |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
src |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
step |
5 | 12 | 16 | 10 | ≤12.1 | 5 | ≤37 | 18 | 16 | ≤12.1 | 4 | 1.0 |
stepDown |
5 | 12 | 16Does not have a specific UI. There are still differences with the latest spec; see bug 835773. |
10 | ≤12.1 | 5 | ≤37 | 18 | 16Does not have a specific UI. There are still differences with the latest spec; see bug 835773. |
≤12.1 | 4 | 1.0 |
stepUp |
5 | 12 | 16Does not have a specific UI. There are still differences with the latest spec; see bug 835773. |
10 | ≤12.1 | 5 | ≤37 | 18 | 16Does not have a specific UI. There are still differences with the latest spec; see bug 835773. |
≤12.1 | 4 | 1.0 |
type |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
useMap |
1 | 12 | 1 | 6 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
validationMessage |
5 | 12 | 4 | 10 | ≤12.1 | 5 | ≤37 | 18 | 4 | ≤12.1 | 4 | 1.0 |
validity |
4 | 12 | 4 | 10 | ≤12.1 | 5 | ≤37 | 18 | 4 | ≤12.1 | 4 | 1.0 |
value |
1 | 12 | 1 | 5.5 | ≤12.1 | 1 | 4.4 | 18 | 4 | ≤12.1 | 1 | 1.0 |
valueAsDate |
5 | 12 | 5720–24 | No | ≤12.1 | 5 | ≤37 | 18 | 5720–24 | ≤12.1 | 4 | 1.0 |
valueAsNumber |
5 | 12 | 16 | 10 | ≤12.1 | 5 | ≤37 | 18 | 16 | ≤12.1 | 4 | 1.0 |
webkitEntries |
22 | 79 | 50 | No | 15 | 11.1 | No | 25 | No | 14 | 11.3 | 1.5 |
webkitdirectory |
7 | 13 | 50 | No | 15 | 11.1 | 4.4 | 18 | No | 14 | 11.3 | 1.0 |
width |
21 | 12 | 16 | 5.5 | ≤12.1 | 7 | 4.4 | 25 | 16 | ≤12.1 | 7 | 1.5 |
willValidate |
2 | 12 | 4 | 10 | ≤12.1 | 4 | ≤37 | 18 | 4 | ≤12.1 | 3 | 1.0 |
<input>
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement