The <input> Element
The most important form element is the<input>
element. The
<input>
element can be displayed in several ways, depending on the type
attribute.Example
<input name="firstname" type="text">
If the
All the different input types are covered in the next chapter. type
attribute is omitted, the input field gets the default type: "text".The <select> Element
The<select>
element defines a drop-down list:Example
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<option>
elements defines an option that can be selected.By default, the first item in the drop-down list is selected.
To define a pre-selected option, add the
selected
attribute to the option: Example
<option value="fiat" selected>Fiat</option>
Visible Values:
Use thesize
attribute to specify the number of visible values:Example
Allow Multiple Selections:
Use themultiple
attribute to allow the user to select more than one value:Example
<select name="cars" size="4" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
The <textarea> Element
The<textarea>
element defines a multi-line input field (a text area):Example
<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>
rows
attribute specifies the visible number of lines in a text area.The
cols
attribute specifies the visible width of a text area.This is how the HTML code above will be displayed in a browser:
You can also define the size of the text area by using CSS:
Example
<textarea name="message" style="width:200px; height:600px;">
The cat was playing in the garden.
</textarea>
The <button> Element
The<button>
element defines a clickable button:Example
<button type="button" onclick="alert('Hello World!')">Click Me!</button>
Note: Always specify the type attribute for the button element. Different browsers may use different default types for the button element.
HTML5 Form Elements
HTML5 added the following form elements:<datalist>
<output>
Note: Browsers do not display unknown elements. New elements that are not supported in older browsers will not "destroy" your web page.
HTML5 <datalist> Element
The<datalist>
element specifies a list of pre-defined options for an <input>
element.Users will see a drop-down list of the pre-defined options as they input data.
The
list
attribute of the <input>
element, must refer to the id
attribute of the <datalist>
element.




Example
<form action="/action_page.php">
<input list="browsers">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
</form>
HTML5 <output> Element
The<output>
element represents the result of a calculation (like one performed by a script).




Example
Perform a calculation and show the result in an<output>
element:<form action="/action_page.php"
oninput="x.value=parseInt(a.value)+parseInt(b.value)">
0
<input type="range" id="a" name="a" value="50">
100 +
<input type="number" id="b" name="b" value="50">
=
<output name="x" for="a b"></output>
<br><br>
<input type="submit">
</form>
HTML Input Types
Here are the different input types you can use in HTML:
<input type="button">
<input type="checkbox">
<input type="color">
<input type="date">
<input type="datetime-local">
<input type="email">
<input type="file">
<input type="hidden">
<input type="image">
<input type="month">
<input type="number">
<input type="password">
<input type="radio">
<input type="range">
<input type="reset">
<input type="search">
<input type="submit">
<input type="tel">
<input type="text">
<input type="time">
<input type="url">
<input type="week">
Input Type Text
<input type="text">
defines a one-line text input field:
Example
<form>
First name:<br>
<input type="text" name="firstname"><br>
Last name:<br>
<input type="text" name="lastname">
</form> This is how the HTML code above will be displayed in a browser:
First name:
Last name:
Input Type Password
<input type="password">
defines a password field:
Example
<form>
User name:<br>
<input type="text" name="username"><br>
User password:<br>
<input type="password" name="psw">
</form> This is how the HTML code above will be displayed in a browser:
User name:
User password:
The characters in a password field are masked (shown as asterisks or circles).
Input Type Submit
<input type="submit">
defines a button for submitting form data to a form-handler.
The form-handler is typically a server page with a script for processing input data.
The form-handler is specified in the form's action
attribute:
Example
<form action="/action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form> This is how the HTML code above will be displayed in a browser:
If you omit the submit button's value attribute, the button will get a default text:
Example
<form action="/action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit">
</form>
Input Type Reset
<input type="reset">
defines a reset button that will reset all form values to their default values:
Example
<form action="/action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
<input type="reset">
</form> This is how the HTML code above will be displayed in a browser:
If you change the input values and then click the "Reset" button, the form-data will be reset to the default values.
Input Type Radio
<input type="radio">
defines a radio button.
Radio buttons let a user select ONLY ONE of a limited number of choices:
Example
<form>
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
</form> This is how the HTML code above will be displayed in a browser:
Male
Female
Other
Input Type Checkbox
<input type="checkbox">
defines a checkbox.
Checkboxes let a user select ZERO or MORE options of a limited number of choices.
Example
<form>
<input type="checkbox" name="vehicle1" value="Bike"> I have a bike<br>
<input type="checkbox" name="vehicle2" value="Car"> I have a car
</form> This is how the HTML code above will be displayed in a browser:
I have a bike
I have a car
Input Type Button
<input type="button">
defines a button:
Example
<input type="button" onclick="alert('Hello World!')" value="Click Me!"> This is how the HTML code above will be displayed in a browser:
HTML5 Input Types
HTML5 added several new input types:
- color
- date
- datetime-local
- email
- month
- number
- range
- search
- tel
- time
- url
- week
New input types that are not supported by older web browsers, will behave as <input type="text">
.
Input Type Color
The <input type="color">
is used for input fields that should contain a color.
Depending on browser support, a color picker can show up in the input field.




Example
<form>
Select your favorite color:
<input type="color" name="favcolor">
</form>
Input Type Date
The <input type="date">
is used for input fields that should contain a date.
Depending on browser support, a date picker can show up in the input field.




Example
<form>
Birthday:
<input type="date" name="bday">
</form> You can also use the min
and max
attributes to add restrictions to dates:




Example
<form>
Enter a date before 1980-01-01:
<input type="date" name="bday" max="1979-12-31"><br>
Enter a date after 2000-01-01:
<input type="date" name="bday" min="2000-01-02"><br>
</form>
Input Type Datetime-local
The <input type="datetime-local">
specifies a date and time input field, with no time zone.
Depending on browser support, a date picker can show up in the input field.





Example
<form>
Birthday (date and time):
<input type="datetime-local" name="bdaytime">
</form>
Input Type Email
The <input type="email">
is used for input fields that should contain an e-mail address.
Depending on browser support, the e-mail address can be automatically validated when submitted.
Some smartphones recognize the email type, and add ".com" to the keyboard to match email input.
Example
<form>
E-mail:
<input type="email" name="email">
</form>
Input Type File
The <input type="file">
defines a file-select field and a "Browse" button for file uploads.





Example
<form>
Select a file: <input type="file" name="myFile">
</form>
Input Type Month
The <input type="month">
allows the user to select a month and year.
Depending on browser support, a date picker can show up in the input field.





Example
<form>
Birthday (month and year):
<input type="month" name="bdaymonth">
</form>
Input Type Number
The <input type="number">
defines a numeric input field.
You can also set restrictions on what numbers are accepted.
The following example displays a numeric input field, where you can enter a value from 1 to 5:





Example
<form>
Quantity (between 1 and 5):
<input type="number" name="quantity" min="1" max="5">
</form>
Input Restrictions
Here is a list of some common input restrictions:
Attribute Description checked Specifies that an input field should be pre-selected when the page loads (for type="checkbox" or type="radio") disabled Specifies that an input field should be disabled max Specifies the maximum value for an input field maxlength Specifies the maximum number of character for an input field min Specifies the minimum value for an input field pattern Specifies a regular expression to check the input value against readonly Specifies that an input field is read only (cannot be changed) required Specifies that an input field is required (must be filled out) size Specifies the width (in characters) of an input field step Specifies the legal number intervals for an input field value Specifies the default value for an input field
You will learn more about input restrictions in the next chapter.
The following example displays a numeric input field, where you can enter a value from 0 to 100, in steps of 10. The default value is 30:





Example
<form>
Quantity:
<input type="number" name="points"min="0" max="100" step="10" value="30">
</form>
Input Type Range
The <input type="range">
defines a control for entering a number whose exact value is not important (like a slider control). Default range is 0 to 100. However, you can set restrictions on what numbers are accepted with the min
, max
, and step
attributes:





Example
<form>
<input type="range" name="points" min="0" max="10">
</form>
Input Type Search
The <input type="search">
is used for search fields (a search field behaves like a regular text field).





Example
<form>
Search Google:
<input type="search" name="googlesearch">
</form>
Input Type Tel
The <input type="tel">
is used for input fields that should contain a telephone number.





Example
<form>
Telephone:
<input type="tel" name="phone" pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">
</form>
Input Type Time
The <input type="time">
allows the user to select a time (no time zone).
Depending on browser support, a time picker can show up in the input field.





Example
<form>
Select a time:
<input type="time" name="usr_time">
</form>
Input Type Url
The <input type="url">
is used for input fields that should contain a URL address.
Depending on browser support, the url field can be automatically validated when submitted.
Some smartphones recognize the url type, and adds ".com" to the keyboard to match url input.





Example
<form>
Add your homepage:
<input type="url" name="homepage">
</form>
Input Type Week
The <input type="week">
allows the user to select a week and year.
Depending on browser support, a date picker can show up in the input field.





Example
<form>
Select a week:
<input type="week" name="week_year">
</form>
Comments
Post a Comment