HTML Forms
An HTML form is an HTML element that allows users to enter and submit data to a website/server or to an application. Input might be processed locally through JavaScript.
The HTML <form>
element is used to create an HTML form for user input:
<form> . form elements . </form>
The <form>
element is a container for different types of input elements, such as: text fields, checkboxes, radio buttons, submit buttons, etc.
The HTML <input>
element is the most used form element.
An <input> element can be displayed in many ways, depending on the type attribute. Here are some examples:
Type | Description |
---|---|
<input type="text"> |
Displays a single-line text input field |
<input type="radio"> |
Displays a radio button (for selecting one of many choices) |
<input type="checkbox"> |
Displays a checkbox (for selecting zero or more of many choices) |
<input type="submit"> |
Displays a submit button (for submitting the form) |
<input type="button"> |
Displays a clickable button |
The HTML <form>
Elements
Text Fields
The <input type="text"> defines a single-line input field for text input.
Example. a form with input fields for text:
<form> <label for="fname">First name:</label><br> <input type="text" id="fname" name="fname"><br> <label for="lname">Last name:</label><br> <input type="text" id="lname" name="lname"> </form>
Note: The form itself is not visible. Also note that the default width of an input field is 20 characters.
Ahis is how the HTML code above will be displayed in a browser:
The <label>
Element
Notice the use of the <label>
element in the example above.
The <label>
tag defines a label for many form elements.
The <label>
element is useful for screen-reader users, because the screen-reader will read out loud the label when the user focuses on the input element.
The <label>
element also helps users who have difficulty clicking on very small regions (such as radio buttons or checkboxes) - because when the user clicks the text within the <label>
element, it toggles the radio button/checkbox.
The for
attribute of the <label>
tag should be equal to the id
attribute of the <input>
element to bind them together.
Radio Buttons
The <input type="radio">
defines a radio button.
Radio buttons let a user select ONE of a limited number of choices.
Example. A form with radio buttons:
<p>Choose your favorite Web language:</p> <form> <input type="radio" id="html" name="fav_language" value="HTML"/> <label for="html">HTML</label><br/> <input type="radio" id="css" name="fav_language" value="CSS"/> <label for="css">CSS</label><br/> <input type="radio" id="javascript" name="fav_language" value="JavaScript"/> <label for="javascript">JavaScript</label> </form>
Choose your favorite Web language: