: The Input (Form Input) element – HTML: HyperText Markup Language | MDN
accept
-
Valid for the
file
input type only, theaccept
attribute defines which file types are selectable in afile
upload control. See the file input type. alt
-
Valid for the
image
button only, thealt
attribute provides alternative text for the image, displaying the value of the attribute if the imagesrc
is missing or otherwise fails to load. See the image input type. -
(Not a Boolean attribute!) The
autocomplete
attribute takes as its value a space-separated string that describes what, if any, type of autocomplete functionality the input should provide. A typical implementation of autocomplete recalls previous values entered in the same input field, but more complex forms of autocomplete can exist. For instance, a browser could integrate with a device’s contacts list to autocompleteemail
addresses in an email input field. Seeautocomplete
for permitted values.The
autocomplete
attribute is valid onhidden
,text
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,range
,color
, andpassword
. This attribute has no effect on input types that do not return numeric or text data, being valid for all input types exceptcheckbox
,radio
,file
, or any of the button types.See the
autocomplete
attribute for additional information, including information on password security and howautocomplete
is slightly different forhidden
than for other input types. autofocus
-
A Boolean attribute which, if present, indicates that the input should automatically have focus when the page has finished loading (or when the
<dialog>
containing the element has been displayed).Note: An element with the
autofocus
attribute may gain focus before theDOMContentLoaded
event is fired.No more than one element in the document may have the
autofocus
attribute. If put on more than one element, the first one with the attribute receives focus.The
autofocus
attribute cannot be used on inputs of typehidden
, since hidden inputs cannot be focused.Warning: Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments. When
autofocus
is assigned, screen-readers “teleport” their user to the form control without warning them beforehand.Use careful consideration for accessibility when applying the
autofocus
attribute. Automatically focusing on a control can cause the page to scroll on load. The focus can also cause dynamic keyboards to display on some touch devices. While a screen reader will announce the label of the form control receiving focus, the screen reader will not announce anything before the label, and the sighted user on a small device will equally miss the context created by the preceding content. capture
-
Introduced in the HTML Media Capture specification and valid for the
file
input type only, thecapture
attribute defines which media—microphone, video, or camera—should be used to capture a new file for upload withfile
upload control in supporting scenarios. See the file input type. checked
-
Valid for both
radio
andcheckbox
types,checked
is a Boolean attribute. If present on aradio
type, it indicates that the radio button is the currently selected one in the group of same-named radio buttons. If present on acheckbox
type, it indicates that the checkbox is checked by default (when the page loads). It does not indicate whether this checkbox is currently checked: if the checkbox’s state is changed, this content attribute does not reflect the change. (Only theHTMLInputElement
‘schecked
IDL attribute is updated.)Note: Unlike other input controls, a checkboxes and radio buttons value are only included in the submitted data if they are currently
checked
. If they are, the name and the value(s) of the checked controls are submitted.For example, if a checkbox whose
name
isfruit
has avalue
ofcherry
, and the checkbox is checked, the form data submitted will includefruit=cherry
. If the checkbox isn’t active, it isn’t listed in the form data at all. The defaultvalue
for checkboxes and radio buttons ison
. dirname
-
Valid for
text
andsearch
input types only, thedirname
attribute enables the submission of the directionality of the element. When included, the form control will submit with two name/value pairs: the first being thename
andvalue
, the second being the value of thedirname
as the name with the value ofltr
orrtl
being set by the browser.<
formaction
=
"
page.html"
method
=
"
post"
>
<
label>
Fruit:<
inputtype
=
"
text"
name
=
"
fruit"
dirname
=
"
fruit.dir"
value
=
"
cherry"
/>
</
label>
<
inputtype
=
"
submit"
/>
</
form>
When the form above is submitted, the input cause both the
name
/value
pair offruit=cherry
and thedirname
/ direction pair offruit.dir=ltr
to be sent. disabled
-
A Boolean attribute which, if present, indicates that the user should not be able to interact with the input. Disabled inputs are typically rendered with a dimmer color or using some other form of indication that the field is not available for use.
Specifically, disabled inputs do not receive the
click
event, and disabled inputs are not submitted with the form.Note: Although not required by the specification, Firefox will by default persist the dynamic disabled state of an
<input>
across page loads. Use theautocomplete
attribute to control this feature. form
-
A string specifying the
<form>
element with which the input is associated (that is, its form owner). This string’s value, if present, must match theid
of a<form>
element in the same document. If this attribute isn’t specified, the<input>
element is associated with the nearest containing form, if any.The
form
attribute lets you place an input anywhere in the document but have it included with a form elsewhere in the document.Note: An input can only be associated with one form.
formaction
-
Valid for the
image
andsubmit
input types only. See the submit input type for more information. formenctype
-
Valid for the
image
andsubmit
input types only. See the submit input type for more information. formmethod
-
Valid for the
image
andsubmit
input types only. See the submit input type for more information. -
Valid for the
image
andsubmit
input types only. See the submit input type for more information. formtarget
-
Valid for the
image
andsubmit
input types only. See the submit input type for more information. height
-
Valid for the
image
input button only, theheight
is the height of the image file to display to represent the graphical submit button. See the image input type. id
-
Global attribute valid for all elements, including all the input types, it defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking. The value is used as the value of the
<label>
‘sfor
attribute to link the label with the form control. See<label>
. inputmode
-
Global value valid for all elements, it provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Values include
none
,text
,tel
,url
,email
,numeric
,decimal
, andsearch
. list
-
The value given to the
list
attribute should be theid
of a<datalist>
element located in the same document. The<datalist>
provides a list of predefined values to suggest to the user for this input. Any values in the list that are not compatible with thetype
are not included in the suggested options. The values provided are suggestions, not requirements: users can select from this predefined list or provide a different value.It is valid on
text
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,range
, andcolor
.Per the specifications, the
list
attribute is not supported by thehidden
,password
,checkbox
,radio
,file
, or any of the button types.Depending on the browser, the user may see a custom color palette suggested, tic marks along a range, or even an input that opens like a
<select>
but allows for non-listed values. Check out the browser compatibility table for the other input types.See the
<datalist>
element. max
-
Valid for
date
,month
,week
,time
,datetime-local
,number
, andrange
, it defines the greatest value in the range of permitted values. If thevalue
entered into the element exceeds this, the element fails constraint validation. If the value of themax
attribute isn’t a number, then the element has no maximum value.There is a special case: if the data type is periodic (such as for dates or times), the value of
max
may be lower than the value ofmin
, which indicates that the range may wrap around; for example, this allows you to specify a time range from 10 PM to 4 AM. maxlength
-
Valid for
text
,search
,url
,tel
,email
, andpassword
, it defines the maximum number of characters (as UTF-16 code units) the user can enter into the field. This must be an integer value0
or higher. If nomaxlength
is specified, or an invalid value is specified, the field has no maximum length. This value must also be greater than or equal to the value ofminlength
.The input will fail constraint validation if the length of the text entered into the field is greater than
maxlength
UTF-16 code units long. By default, browsers prevent users from entering more characters than allowed by themaxlength
attribute. See Client-side validation for more information. min
-
Valid for
date
,month
,week
,time
,datetime-local
,number
, andrange
, it defines the most negative value in the range of permitted values. If thevalue
entered into the element is less than this, the element fails constraint validation. If the value of themin
attribute isn’t a number, then the element has no minimum value.This value must be less than or equal to the value of the
max
attribute. If themin
attribute is present but is not specified or is invalid, nomin
value is applied. If themin
attribute is valid and a non-empty value is less than the minimum allowed by themin
attribute, constraint validation will prevent form submission. See Client-side validation for more information.There is a special case: if the data type is periodic (such as for dates or times), the value of
max
may be lower than the value ofmin
, which indicates that the range may wrap around; for example, this allows you to specify a time range from 10 PM to 4 AM. minlength
-
Valid for
text
,search
,url
,tel
,email
, andpassword
, it defines the minimum number of characters (as UTF-16 code units) the user can enter into the entry field. This must be a non-negative integer value smaller than or equal to the value specified bymaxlength
. If nominlength
is specified, or an invalid value is specified, the input has no minimum length.The input will fail constraint validation if the length of the text entered into the field is fewer than
minlength
UTF-16 code units long, preventing form submission. See Client-side validation for more information. multiple
-
The Boolean
multiple
attribute, if set, means the user can enter comma separated email addresses in the email widget or can choose more than one file with thefile
input. See the email and file input type. name
-
A string specifying a name for the input control. This name is submitted along with the control’s value when the form data is submitted.
Consider the
name
a required attribute (even though it’s not). If an input has noname
specified, orname
is empty, the input’s value is not submitted with the form! (Disabled controls, unchecked radio buttons, unchecked checkboxes, and reset buttons are also not sent.)There are two special cases:
_charset_
: If used as the name of an<input>
element of type hidden, the input’svalue
is automatically set by the user agent to the character encoding being used to submit the form.isindex
: For historical reasons, the nameisindex
is not allowed.
The
name
attribute creates a unique behavior for radio buttons.Only one radio button in a same-named group of radio buttons can be checked at a time. Selecting any radio button in that group automatically deselects any currently-selected radio button in the same group. The value of that one checked radio button is sent along with the name if the form is submitted,
When tabbing into a series of same-named group of radio buttons, if one is checked, that one will receive focus. If they aren’t grouped together in source order, if one of the group is checked, tabbing into the group starts when the first one in the group is encountered, skipping all those that aren’t checked. In other words, if one is checked, tabbing skips the unchecked radio buttons in the group. If none are checked, the radio button group receives focus when the first button in the same name group is reached.
Once one of the radio buttons in a group has focus, using the arrow keys will navigate through all the radio buttons of the same name, even if the radio buttons are not grouped together in the source order.
When an input element is given a
name
, that name becomes a property of the owning form element’sHTMLFormElement.elements
property. If you have an input whosename
is set toguest
and another whosename
ishat-size
, the following code can be used:let
form=
document.
querySelector
(
"form"
)
;
let
guestName=
form.
elements.
guest;
let
hatSize=
form.
elements[
"hat-size"
]
;
When this code has run,
guestName
will be theHTMLInputElement
for theguest
field, andhatSize
the object for thehat-size
field.Warning: Avoid giving form elements a
name
that corresponds to a built-in property of the form, since you would then override the predefined property or method with this reference to the corresponding input. pattern
-
Valid for
text
,search
,url
,tel
,email
, andpassword
, thepattern
attribute defines a regular expression that the input’svalue
must match in order for the value to pass constraint validation. It must be a valid JavaScript regular expression, as used by theRegExp
type, and as documented in our guide on regular expressions; the'u'
flag is specified when compiling the regular expression, so that the pattern is treated as a sequence of Unicode code points, instead of as ASCII. No forward slashes should be specified around the pattern text.If the
pattern
attribute is present but is not specified or is invalid, no regular expression is applied and this attribute is ignored completely. If the pattern attribute is valid and a non-empty value does not match the pattern, constraint validation will prevent form submission.Note: If using the
pattern
attribute, inform the user about the expected format by including explanatory text nearby. You can also include atitle
attribute to explain what the requirements are to match the pattern; most browsers will display this title as a tooltip. The visible explanation is required for accessibility. The tooltip is an enhancement.See Client-side validation for more information.
placeholder
-
Valid for
text
,search
,url
,tel
,email
,password
, andnumber
, theplaceholder
attribute provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that provides a hint as to the expected type of data, rather than an explanation or prompt. The text must not include carriage returns or line feeds. So for example if a field is expected to capture a user’s first name, and its label is “First Name”, a suitable placeholder might be “e.g. Mustafa”.Note: The
placeholder
attribute is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your content. See Labels for more information. readonly
-
A Boolean attribute which, if present, indicates that the user should not be able to edit the value of the input. The
readonly
attribute is supported by thetext
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
, andpassword
input types.See the HTML attribute:
readonly
for more information. required
-
required
is a Boolean attribute which, if present, indicates that the user must specify a value for the input before the owning form can be submitted. Therequired
attribute is supported bytext
,search
,url
,tel
,email
,date
,month
,week
,time
,datetime-local
,number
,password
,checkbox
,radio
, andfile
inputs.See Client-side validation and the HTML attribute:
required
for more information. size
-
Valid for
email
,password
,tel
,url
, andtext
, thesize
attribute specifies how much of the input is shown. Basically creates same result as setting CSSwidth
property with a few specialities. The actual unit of the value depends on the input type. Forpassword
andtext
, it is a number of characters (orem
units) with a default value of20
, and for others, it is pixels (orpx
units). CSSwidth
takes precedence over thesize
attribute. src
-
Valid for the
image
input button only, thesrc
is string specifying the URL of the image file to display to represent the graphical submit button. See the image input type. step
-
Valid for
date
,month
,week
,time
,datetime-local
,number
, andrange
, thestep
attribute is a number that specifies the granularity that the value must adhere to.If not explicitly included:
step
defaults to 1 fornumber
andrange
.- Each date/time input type has a default
step
value appropriate for the type; see the individual input pages:date
,datetime-local
,month
,time
, andweek
.
The value must be a positive number—integer or float—or the special value
any
, which means no stepping is implied, and any value is allowed (barring other constraints, such asmin
andmax
).If
any
is not explicitly set, valid values for thenumber
, date/time input types, andrange
input types are equal to the basis for stepping — themin
value and increments of the step value, up to themax
value, if specified.For example, if you have
<input type="number" min="10" step="2">
, then any even integer,10
or greater, is valid. If omitted,<input type="number">
, any integer is valid, but floats (like4.2
) are not valid, becausestep
defaults to1
. For4.2
to be valid,step
would have had to be set toany
, 0.1, 0.2, or any themin
value would have had to be a number ending in.2
, such as<input type="number" min="-5.2">
Note: When the data entered by the user doesn’t adhere to the stepping configuration, the value is considered invalid in constraint validation and will match the
:invalid
pseudoclass.See Client-side validation for more information.
tabindex
-
Global attribute valid for all elements, including all the input types, an integer attribute indicating if the element can take input focus (is focusable), if it should participate to sequential keyboard navigation. As all input types except for input of type hidden are focusable, this attribute should not be used on form controls, because doing so would require the management of the focus order for all elements within the document with the risk of harming usability and accessibility if done incorrectly.
title
-
Global attribute valid for all elements, including all input types, containing a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip. The title should NOT be used as the primary explanation of the purpose of the form control. Instead, use the
<label>
element with afor
attribute set to the form control’sid
attribute. See Labels below. type
-
A string specifying the type of control to render. For example, to create a checkbox, a value of
checkbox
is used. If omitted (or an unknown value is specified), the input typetext
is used, creating a plaintext input field.Permitted values are listed in Input types above.
value
-
The input control’s value. When specified in the HTML, this is the initial value, and from then on it can be altered or retrieved at any time using JavaScript to access the respective
HTMLInputElement
object’svalue
property. Thevalue
attribute is always optional, though should be considered mandatory forcheckbox
,radio
, andhidden
. width
-
Valid for the
image
input button only, thewidth
is the width of the image file to display to represent the graphical submit button. See the image input type.