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. |