top-banner

Тег form в HTML: что это такое?

Дата последнего обновления статьи:

BODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLEBODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLEBODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLEBODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLEBODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLEBODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLEBODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLEBODYTABLEFOOTERBUTTONBRHEADERDIVSECTIONIMGSPANARTICLE<form>

Это изображениелицензировано подCC BY 4.0ccpersonperson

Тег form в HTML используется для создания формы на веб-странице, которая позволяет собирать данные от пользователей. Форма может содержать различные элементы ввода, такие как текстовые поля, кнопки, чекбоксы и другие элементы управления.

Синтаксис тега form

<form action="/submit" method="post">
  <!-- Элементы формы -->
</form>

Атрибуты тега form

  • accept-charset - определяет кодировку, используемую при отправке формы.
  • action - указывает URL, куда будут отправлены данные формы.
  • autocomplete - включает/отключает автозаполнение полей формы (on/off).
  • enctype - определяет способ кодирования данных формы при отправке.
  • method - определяет HTTP-метод для отправки формы (get/post).
  • name - задаёт имя формы.
  • novalidate - отключает встроенную валидацию формы браузером.
  • rel - определяет отношение между текущим документом и целевым ресурсом.
  • target - указывает где отображать результат отправки формы (_blank, _self, _parent, _top).

Также поддерживает глобальные атрибуты.

Примеры использования тега form

Простая форма входа

<form action="/login" method="post">
  <label for="username">Имя пользователя:</label>
  <input type="text" id="username" name="username" required>
  
  <label for="password">Пароль:</label>
  <input type="password" id="password" name="password" required>
  
  <button type="submit">Войти</button>
</form>

Форма с различными элементами ввода

<form action="/register" method="post" enctype="multipart/form-data">
  <fieldset>
    <legend>Личные данные</legend>
    
    <label for="name">Имя:</label>
    <input type="text" id="name" name="name" required>
    
    <label for="email">Email:</label>
    <input type="email" id="email" name="email" required>
    
    <label for="avatar">Аватар:</label>
    <input type="file" id="avatar" name="avatar">
    
    <label>
      <input type="checkbox" name="agreement" required>
      Я согласен с условиями
    </label>
  </fieldset>
  
  <button type="submit">Отправить</button>
</form>

Советы по использованию тега form

  • Всегда используйте элемент label для подписей полей ввода.
  • Добавляйте атрибут required для обязательных полей.
  • Используйте правильные типы полей ввода (email, tel, number и т.д.).
  • Группируйте связанные поля с помощью тега fieldset и legend.
  • Добавляйте валидацию на стороне клиента и сервера.
  • Используйте HTTPS для защиты передаваемых данных.
  • Обеспечьте доступность формы для пользователей с ограниченными возможностями.
  • Для защиты от спама можно использовать сервис CAPTCHA и валидацию полей формы на стороне клиента и сервера.

Часто задаваемые вопросы (FAQ)

1 Можно ли вкладывать формы друг в друга?

Нет, вложение форм друг в друга не допускается по спецификации HTML и может привести к непредсказуемому поведению.

2 Как защитить форму от спама?

Можно использовать CAPTCHA, валидацию на стороне сервера и другие методы защиты.

3 Сколько форм можно разместить на одной странице?

Технически количество форм не ограничено, но рекомендуется использовать минимально необходимое количество для лучшего UX.

Заключение

Тег form является основным элементом для создания форм в HTML. Правильное использование форм и их элементов важно для создания удобного пользовательского интерфейса и безопасной передачи данных.

Для получения дополнительной информации о теге form, рекомендуем ознакомиться с официальной документацией на MDN.

Правила сайта