Content · Web Development · HTML

HTML <datalist>: Suggested Input Values

Datalist offers suggestions for a text-like input while usually allowing users to type a different value. Select, by contrast, normally limits choices to its listed options.

1 views Published Oct 19, 2026 Updated Oct 19, 2026 Admin

Datalist offers suggestions for a text-like input while usually allowing users to type a different value. Select, by contrast, normally limits choices to its listed options. We will keep the example small, so you can see how the fields work without building a whole application first.

What You Need to Know


Connect input and datalist using list and id. Datalist suggestions are not a validation rule, and their interface differs between browsers.

Disabled form controls are not submitted; readonly values usually are. Both can affect keyboard interaction differently.

A form is like a question sheet. The label asks the question, the control holds the answer, and the name tells the receiving application what that answer is called.

Example: See It in Action


This example keeps the idea small. Copy it carefully, then follow the explanation instead of guessing what the browser will do.

This is a short HTML fragment. To try it as a webpage, put it inside the body element of a complete HTML document.

<form action="/search" method="get">
    <label for="city">Your city</label>
    <input id="city" name="city" list="cities">
    <datalist id="cities">
        <option value="London">
            <option value="Paris"></datalist>
            <button type="submit">Find</button>
        </form>

Let’s Understand the Example


  • Datalist suggests values for an input, but people can usually enter something else.
  • Input creates a form control. Its type decides whether people type text, choose a date, move a slider and more.
  • Action names the destination where the browser sends a form submission. A real server handler must exist there.
  • Method controls how a form submits; GET makes values part of the URL, while POST sends them in the request body.
  • For links a label to the input whose id matches, so clicking the label can focus the control.
  • Id gives one element a unique name within the page, so a link, label, or script can point to it.

The browser can submit values with keys such as city. A control without a name normally contributes no entry. Whether the submission produces a result depends on the action URL and the server behind it.

What Should You See?


You should see controls for Your city. The example uses an input of type text and sends a GET request when submitted. If the action points to a missing server endpoint, the browser cannot complete the task.

Choose one field and predict its submitted name and value. Then change the value and check whether the browser accepts it. Do not assume that a working-looking form has a real server behind it.

Try It Yourself


  1. Type a city that is not listed and observe whether the input accepts it.
  2. Save your changes, open or refresh the page, and compare the result with the original example.
  3. Tell a friend what your change did. If you are not sure, undo it, refresh the page, and compare.

Common Beginner Mistakes


  • Assuming datalist prevents users from entering a city not on the list.
  • Client-side HTML validation is a helpful first check, not a security boundary. A real receiving application must validate the values again.

Key Takeaways


  • Datalist offers suggestions for a text-like input while usually allowing users to type a different value.
  • Datalist suggests values for an input, but people can usually enter something else.
  • Disabled form controls are not submitted; readonly values usually are. Both can affect keyboard interaction differently.
Share this resourceSend this page to someone who may find it useful.