> For the complete documentation index, see [llms.txt](https://docs.betterform.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.betterform.io/reference/input-fields.md).

# Input Fields

{% hint style="info" %}
Add a `name` attribute to all input fields in your form.
{% endhint %}

### Text

This is the default value. Supports a single-line text field. Line-breaks are automatically removed from the input value.

```html
<input type="text" name="Full Name" />
```

### Textarea

The `<textarea>` element is often useful in a form, because it collects user inputs such as comments or reviews. A `<textarea>` can hold an unlimited number of characters, and the text renders in a fixed-width font.

```mathml
<textarea name="Review" rows="4" cols="50"></textarea>
```

### Select

The `<select>` element represents a control that provides a menu of options.

```html
<select name="Plan">
  <option value="Free">Free</option>
  <option value="Premium">Premium</option>
  <option value="Unlimited">Unlimited</option>
</select>
```

### Email

A field for editing an email address. Looks like a text input, but has validation parameters and relevant keyboard in supporting browsers and devices with dynamic keyboards.

```html
<input type="email" name="Email" />
```

### URL

A field for entering any URL. Looks like a text input, but has validation parameters and relevant keyboard in supporting browsers and devices with dynamic keyboards.

```html
<input type="url" name="Website" />
```

### Telephone

A control for entering a phone number. Displays a phone keypad in some devices with dynamic keypads such as smartphones.

```html
<input type="tel" name="Phone Number" />
```

### Number

A control for entering a number. Displays a spinner and adds default validation when supported. Displays a numeric keypad in some devices with dynamic keypads.

```html
<input type="number" name="Quantity" />
```

### Checkbox

A check box allowing single values to be selected/deselected.

```html
<input type="checkbox" name="Receive Emails" />
```

### Hidden

A control that is not displayed but whose value is submitted to the server. Used to add context about current user, and other values you want to be change.

```html
<input type="hidden" name="User" value="user@example.com"  />
```
