bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/HTML/Forms and Input
HTML•Forms and Input

HTML Input Attributes

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind HTML Input Attributes?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

<label ___="fname">First name:</label><br>
3Order

Put the learning moves in the order that makes the concept easiest to apply.

The readonly Attribute
The value Attribute
HTML Input Attributes

This chapter describes the different attributes for the HTML <input> element.

The value Attribute

The input value attribute specifies an initial value for an input field:

Example

Formatted code
<form>

  <label for="fname">First name:</label><br>
  <input type="text"
  id="fname" name="fname" value="John"><br>
  <label for="lname">Last
  name:</label><br>
  <input type="text" id="lname" name="lname"
  value="Doe">
</form>

Live preview

The readonly Attribute

The input readonly attribute specifies that an input field is read-only.

A read-only input field cannot be modified (however, a user can tab to it, highlight it, and copy the text from it).

The value of a read-only input field will be sent when submitting the form!

Example

Formatted code
<form>

  <label for="fname">First name:</label><br>
  <input type="text"
  id="fname" name="fname" value="John" readonly><br>
  <label for="lname">Last
  name:</label><br>
  <input type="text" id="lname" name="lname"
  value="Doe">
</form>

Live preview

The disabled Attribute

The input disabled attribute specifies that an input field should be disabled.

A disabled input field is unusable and un-clickable.

The value of a disabled input field will not be sent when submitting the form!

Example

Formatted code
<form>

  <label for="fname">First name:</label><br>
  <input type="text"
  id="fname" name="fname" value="John" disabled><br>
  <label for="lname">Last
  name:</label><br>
  <input type="text" id="lname" name="lname"
  value="Doe">
</form>

Live preview

The size Attribute

The input size attribute specifies the visible width, in characters, of an input field.

The default value for size is 20.

Note

The size attribute works with the following input types: text, search, tel, url, email, and password.

Example

Formatted code
  <form>
  <label for="fname">First name:</label><br>
  <input
  type="text" id="fname" name="fname" size="50"><br>
  <label
  for="pin">PIN:</label><br>
  <input type="text" id="pin" name="pin"
  size="4">
</form>

Live preview

The maxlength Attribute

The input maxlength attribute specifies the maximum number of characters allowed in an input field.

Note

When a maxlength is set, the input field will not accept more than the specified number of characters. However, this attribute does not provide any feedback. So, if you want to alert the user, you must write JavaScript code.

Example

Formatted code
  <form>
  <label for="fname">First name:</label><br>
  <input
  type="text" id="fname" name="fname" size="50"><br>
  <label
  for="pin">PIN:</label><br>
  <input type="text" id="pin" name="pin"
  maxlength="4" size="4">
</form>

Live preview

The min and max Attributes

The input min and max attributes specify the minimum and maximum values for an input field.

The min and max attributes work with the following input types: number, range, date, datetime-local, month, time and week.

Tip

Use the max and min attributes together to create a range of legal values.

Example

Formatted code
<form>
  <label for="datemax">Enter a date before
  1980-01-01:</label>
  <input type="date" id="datemax" name="datemax"
  max="1979-12-31"><br><br>
  <label for="datemin">Enter a date
  after 2000-01-01:</label>
  <input type="date" id="datemin" name="datemin"
  min="2000-01-02"><br><br>
  <label for="quantity">Quantity
  (between 1 and 5):</label>
  <input type="number" id="quantity"
  name="quantity" min="1" max="5">
</form>

Live preview

The multiple Attribute

The input multiple attribute specifies that the user is allowed to enter more than one value in an input field.

The multiple attribute works with the following input types: email, and file.

Example

Formatted code
  <form>
  <label for="files">Select files:</label>
  <input
  type="file" id="files" name="files" multiple>
</form>

Live preview

The pattern Attribute

The input pattern attribute specifies a regular expression that the input field's value is checked against, when the form is submitted.

The pattern attribute works with the following input types: text, date, search, url, tel, email, and password.

Tip

Use the global title attribute to describe the pattern to help the user.

Tip

Learn more about regular expressions in our JavaScript tutorial.

Example

Formatted code
  <form>
  <label for="country_code">Country code:</label>

  <input type="text" id="country_code" name="country_code"

  pattern="[A-Za-z]{3}" title="Three letter country code">
</form>

Live preview

The placeholder Attribute

The input placeholder attribute specifies a short hint that describes the expected value of an input field (a sample value or a short description of the expected format).

The short hint is displayed in the input field before the user enters a value.

The placeholder attribute works with the following input types: text, search, url, number, tel, email, and password.

Example

Formatted code
<form>
<label for="phone">Enter a phone number:</label>

<input type="tel" id="phone" name="phone"

placeholder="123-45-678"
pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">

</form>

Live preview

The required Attribute

The input required attribute specifies that an input field must be filled out before submitting the form.

The required attribute works with the following input types: text, search, url, tel, email, password, date pickers, number, checkbox, radio, and file.

Example

Formatted code
  <form>
  <label for="username">Username:</label>
  <input
  type="text" id="username" name="username" required>
</form>

Live preview

The step Attribute

The input step attribute specifies the legal number intervals for an input field.

Example: if step="3", legal numbers could be -3, 0, 3, 6, etc.

Tip

This attribute can be used together with the max and min attributes to create a range of legal values.

The step attribute works with the following input types: number, range, date, datetime-local, month, time and week.

Example

Formatted code
  <form>
  <label for="points">Points:</label>
  <input
  type="number" id="points" name="points" step="3">
</form>

Live preview

Note

Input restrictions are not foolproof, and JavaScript provides many ways to add illegal input. To safely restrict input, it must also be checked by the receiver (the server)!

The autofocus Attribute

The input autofocus attribute specifies that an input field should automatically get focus when the page loads.

Example

Formatted code
<form>
<label for="fname">First name:</label><br>
<input
type="text" id="fname" name="fname" autofocus><br>
<label for="lname">Last
name:</label><br>
<input type="text" id="lname" name="lname">

</form>

Live preview

The height and width Attributes

The input height and width attributes specify the height and width of an <input type="image"> element.

Tip

Always specify both the height and width attributes for images. If height and width are set, the space required for the image is reserved when the page is loaded. Without these attributes, the browser does not know the size of the image, and cannot reserve the appropriate space to it. The effect will be that the page layout will change during loading (while the images load).

Example

Formatted code
  <form>
  <label for="fname">First name:</label>
  <input
  type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last
  name:</label>
  <input type="text" id="lname" name="lname"><br><br>

  <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">

</form>

Live preview

The list Attribute

The input list attribute refers to a <datalist> element that contains pre-defined options for an <input> element.

Example

Formatted code
  <form>

<input list="browsers">

 <datalist id="browsers">

     <option value="Edge">

  <option value="Firefox">

  <option value="Chrome">

  <option value="Opera">

  <option value="Safari">

 </datalist>
</form>

Live preview

The autocomplete Attribute

The input autocomplete attribute specifies whether a form or an input field should have autocomplete on or off.

Autocomplete allows the browser to predict the value. When a user starts to type in a field, the browser should display options to fill in the field, based on earlier typed values.

The autocomplete attribute works with <form> and the following <input> types: text, search, url, tel, email, password, datepickers, range, and color.

Example

Formatted code
    <form action="/action_page.php" autocomplete="on">
  <label for="fname">First
    name:</label>
  <input type="text" id="fname" name="fname"><br><br>

    <label for="lname">Last name:</label>
  <input type="text" id="lname"
    name="lname"><br><br>
  <label for="email">Email:</label>

    <input type="email" id="email" name="email" autocomplete="off"><br><br>

    <input type="submit" value="Submit">
</form>

Live preview

Tip

In some browsers you may need to activate an autocomplete function for this to work (Look under "Preferences" in the browser's menu).

HTML Form and Input Elements

TagDescription
<form>Defines an HTML form for user input
<input>Defines an input control

For a complete list of all available HTML tags, visit our HTML Tag Reference .

Previous

HTML Input Types

Next

HTML Input form* Attributes