# Form fields

> Use any field names and input types. Every named field is saved and included in your email.

Source: https://docs.formclick.io/html-forms/form-fields

Formclick saves every form control that has a `name` attribute. There is no schema to configure: add a field to your HTML and it shows up in the next submission.

## Supported inputs

| Input | What gets saved |
| --- | --- |
| `text`, `email`, `tel`, `url`, `number`, `date`, `textarea`… | The value as text. |
| `select` | The selected option’s `value` (or its text when there is no value). |
| `radio` | The value of the checked radio. |
| `checkbox` | The value when ticked (default `on`). Unticked boxes are left out. |
| Several fields with the same name | A list of values, e.g. `interests` → `["Design", "SEO"]`. |
| `file` | A link to the uploaded file. Needs `formclick.min.js`. See [File uploads](https://docs.formclick.io/html-forms/file-uploads). |
| `hidden` | Saved like any other field, unless it is a [special field](https://docs.formclick.io/html-forms/special-fields). |

## Example with every type

```html title="signup.html"
<form action="https://api.formclick.io/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">

  <input type="text"  name="name"  required>
  <input type="email" name="email" required>
  <input type="tel"   name="phone">

  <select name="budget">
    <option value="">Choose a budget…</option>
    <option>Under $1,000</option>
    <option>$1,000 – $5,000</option>
  </select>

  <!-- Same name → saved as a list -->
  <label><input type="checkbox" name="interests" value="Design"> Design</label>
  <label><input type="checkbox" name="interests" value="SEO"> SEO</label>

  <label><input type="radio" name="contact_by" value="Email" checked> Email</label>
  <label><input type="radio" name="contact_by" value="Phone"> Phone</label>

  <textarea name="message"></textarea>
  <button type="submit">Send</button>
</form>

<!-- Handles submit, file upload, loading state and success/error messages. -->
<script src="https://cdn.formclick.io/formclick.min.js"></script>
```

## Sender name and email

Formclick looks for the person’s name and email so submissions are easy to scan in the dashboard and you can reply straight from your inbox.

- **Name** is read from the first non-empty field called `name`, `full_name`, `fullname` or `your_name`.
- **Email** is read from `email` (or `Email`). It becomes the **Reply-To** of your notification, so pressing Reply answers the visitor.

> **Tip:** Use `type="email"` for the email field. Browsers validate it before submit, and an invalid address also counts towards the spam score.

## Field names

Use short, readable names: they appear as labels in your email and dashboard. `company_name` reads better than `field_7`. Avoid starting names with an underscore; a few such names are reserved.

## Size limit

A submission body can be up to **100 KB** of text, which is far more than any normal form. Files never count towards this, because they upload separately.
