How Button Input Type Creates A Form Button In JavaScript
Disclosure: Your support helps keep the site running! We earn a referral fee for some of the services we recommend on this page.
Learn more - Value of
- How To Define Input Type In HTML (All The Values And Attributes)
- What does
How Button Input Type Creates A Form Button In JavaScript
do? - Defines a button-like input.
Code Example
<form>
<input type="button" value="Click me" onclick="alert('You clicked the button!')">
</form>
Mostly for JavaScript
The button
input type creates an form button, the value
of which is displayed as the text or label on the button. The button
input looks identical to the submit
, but they are not interchangeable — the button
input does not submit the form. For the most part, the button
input is used in conjunction with JavaScript.
<input type="button">
vs. <button>
In addition to the button
type of input, there is a separate <button>
element which is functionally very similar. By default, they are both displayed as buttons, and they both usually rely on JavaScript for their utility — neither one of them has much use in a strict form-input and submission paradigm. The difference is that the <button>
element can have content, while the <input>
element is null
(that is, it does not have a closing tag and cannot contain any content. This means that the <button>
element can have a picture, or marked-up text, while the button
input cannot have either.
Why use the <input type="button">
So, if the <button>
element is basically the same, except better, why use the button
input type at all? The answer is the value
attribute. With the button
type input, the value
is displayed on the button itself. With the <button>
element, the button displays its content. This means that if you want to update or use the value
and the displayed content in concert, you would need to use the button
input, or else do a lot more scripting to sync the <button>
value with its content. If the value
is irrelevant, either element works just fine.
Adam is a technical writer who specializes in developer documentation and tutorials.
Browser Support for button
All values of type
Value name | Notes |
---|
button | Defines a button-like input. |
checkbox | Defines a checkbox, which the user can toggle on or off. |
file | Defines a file upload box with a browse button. |
hidden | Defines a field within a form that is not visible to the user. |
image | Defines an image that is clicked to submit a form. |
password | Displays an obfuscated password entry field. |
radio | Defines a circular selection button in a form. |
reset | Defines a button on a form that will return all fields to their default values. |
submit | Defines a button that is clicked to submit a form. |
text | Defines a text entry field in a form. |
All attributes of input
Attribute name | Values | Notes |
---|
step | | Specifies the interval between valid values in a number-based input. |
required | | Specifies that the input field is required; disallows form submission and alerts the user if the required field is empty. |
readonly | | Disallows the user from editing the value of the input. |
placeholder | | Specifies placeholder text in a text-based input. |
pattern | | Specifies a regular expression against which to validate the value of the input. |
multiple | | Allows the user to enter multiple values into a file upload or email input. |
min | | Specifies a minimum value for number and date input fields. |
max | | Specifies a maximum value for number and date input fields. |
list | | Specifies the id of a <datalist> element which provides a list of autocomplete suggestions for the input field. |
height | | Specifies the height of an image input. |
formtarget | | Specifies the browsing context in which to open the response from the server after form submission. For use only on input types of "submit" or "image". |
formmethod | | Specifies the HTTP method (GET or POST) to be used when the form data is submitted to the server. Only for use on input types of "submit" or "image". |
formenctype | | Specifies how form data should be submitted to the server. Only for use on input types "submit" and "image". |
formaction | | Specifies the URL for form submission. Can only be used for type="submit" and type="image". |
form | | Specifies a form to which the input field belongs. |
autofocus | | Specifies that the input field should be in focus immediately upon page load. |
maxlength | | Specifies the maximum number of characters that can be entered in a text-type input. |
src | | Defines the source URL for an image input. |
type | button checkbox file hidden image password radio reset submit text
| Defines the input type. |
value | | Defines an initial value or default selection for an input field. |
size | | Specifies the width of the input in characters. |
name | | Specifies the name of an input element. The name and value of each input element are included in the HTTP request when the form is submitted. |
language | | Was used to indicate the scripting language used for events triggered by the input. |
accesskey | | Defines a keyboard shortcut for the element. |
disabled | | Disables the input field. |
checked | | Specifies whether a checkbox or radio button form input should be checked by default. |
border | | Was used to specify a border on an input. Deprecated. Use CSS instead. |
autocomplete | | Specifies whether the browser should attempt to automatically complete the input based on user inputs to similar fields. |