Программирование

HTML-формы

form, input, label, button и типы полей.

Все уроки · Уроки HTML: учимся с нуля

form, label и input

<form> собирает данные пользователя: action — куда отправить, method — как (get или post). Каждое поле — это <input>, а его название — <label>; атрибут for связывает label с id поля.

<form action="/subscribe" method="post">
  <label for="email">Email</label>
  <input id="email" name="email" type="email" required>
  <button type="submit">Subscribe</button>
</form>

Без атрибута name значение поля не отправится. Клик по label активирует поле — это очень удобно на телефоне.

Типы полей

Атрибут type сообщает браузеру, для чего поле: text, email, password, number, date, checkbox, radio, file. Правильный тип подстраивает мобильную клавиатуру и проверяет ввод. Для длинного текста есть <textarea>, для выпадающего списка — <select>.

<input type="number" name="age" min="0" max="120">
<input type="date" name="birthday">
<input type="checkbox" id="agree" name="agree"> <label for="agree">I agree</label>
<select name="city">
  <option value="baku">Baku</option>
  <option value="ganja">Ganja</option>
</select>
<textarea name="message" rows="4"></textarea>

Проверка и кнопки

  • required требует заполнить поле.
  • minlength, maxlength, min, max и pattern задают ограничения.
  • placeholder — подсказка, а не замена label.
  • <button type="submit"> отправляет, type="reset" очищает.

Проверка в браузере — для удобства; ради безопасности обязательно проверяйте данные и на сервере.

<input type="text" name="user" minlength="3" maxlength="20" required placeholder="Username">
<input type="text" name="zip" pattern="[0-9]{4}" title="4 digits">

Автор: Nibras Code