Вернуться назад Распечатать

Тег form: опис, значення, застосування

HTML-форми — це дуже потужний інструмент для взаємодії з користувачами, однак з технічних причин не завжди очевидно, як використовувати їх на повну силу. Простий відправки даних в цьому випадку недостатньо — також необхідно переконатися, що дані, які користувачі заповнюють у формах, будуть відправлені в правильному форматі, який потрібен для їх успішної обробки, і що це не зламає діючі програми. Також важливо допомогти користувачам заповнити форми правильно і не випробувати розчарування при спробі скористатися додатками.
Для створення HTML-форми використовується тег

. Він фактично не створює поля, але застосовується в якості батьківського контейнера для таких елементів як і . Якщо ви хочете зробити форму простий підписки, із звичайною перевіркою і оплатою, або ж інтерактивні веб-додатка, для роботи вам потрібно буде використовувати HTML-теги елементів, найважливішим з яких є

.


Як працюють стандартні форми HTML

Форми HTML були винайдені і в основному стандартизовані до появи асинхронного jаvascript і складних веб-додатків. Сьогодні використовуються вхідні дані форм, кнопки та інші механізми взаємодії, але в основі цього лежить система, заснована на парадигмі HTTP-запиту та відповіді.
Коли користувач завантажує сторінку, надсилається http-запит (як правило, це так званий GET-запит). Він відправляється вашим браузером на сервер, і зазвичай сервер відповідає веб-сторінкою, яку шукає користувач. Ця взаємодія є одним з найбільш фундаментальних понять Інтернету. І це пояснює, як саме працюють HTML-форми.

Процес обміну інформацією з сервером

Кожен , що включає в себе такі елементи, як , розташовуються всередині

і має атрибут name (ім'я), а також його значення. Значення визначається по-різному. Для текстових це буде те значення, яке було введене в поле користувачем сайту. Для радіокнопки — значення обраного параметра. Користувач може налаштувати значення, але найчастіше не може налаштувати атрибут name. При цьому створюється набір пар "ім'я-значення", в яких значення визначаються користувальницьким введенням.


Основна відмінність між формою і звичайним HTML-документом полягає в тому, що в більшості випадків дані, зібрані формою, відправляються на веб-сервер. У цьому випадку необхідно налаштувати веб-сервер для отримання та обробки даних. Атрибут action тега

визначає розташування (URL), куди повинні бути відправлені зібрані дані.

Як виглядає відповідь сервера

Коли форма відправлена пари ім'я-значення і всі поля всередині

елементи включаються в HTTP. Проводиться запит на URL-адресу, визначену у формі атрибут action. Тип запиту (GET або POST) буде знаходитися в атрибуті method. Це означає, що всі дані, надані користувачем, відправляються на сервер одразу в процесі відправлення форми, і сервер може робити з цими даними все, що захоче. Коли сервер отримує форму відправки, він сприймає її, як будь-який інший запит HTTP. Сервер робить все, що йому потрібно зробити з включеними даними, і видає відповідь назад в браузер.
Якщо згадати, що завантаження сторінки є відповіддю, можна помітити, що те ж саме відбувається тут. У типовій формі, створеної за допомогою тега

відповідь — це нова сторінка, завантажувана браузером. Як правило, нова сторінка замінює поточне утримання, але це може бути перевизначено з допомогою target-атрибуту. Переважна більшість онлайн-форм працюють таким чином, і саме тому користувач отримує відправку на сторінку «Спасибі», коли заповнює форму підписки по електронній пошті.

Веб-додатки та форми без тега

Сучасні інтерактивні веб-додатки використовують jаvascript для запуску асинхронних http-запитів. Це такі виклики до сервера, які не викликають перезавантаження сторінки. Вони не покладаються на тег

— HTML-елемент, вбудований в поведінку. Вони не об'єднують в єдине ціле усі дані користувача і не відправляють їх відразу. З цієї причини багато верстальники на HTML+JS у веб-додатках не використовують тег

на всіх формах. Частіше вони просто застосовують його як свого роду контейнер для різних типів полів введення і елементів. У цьому випадку використовуються атрибути action method і не будуть видні.

Детальніше про форми

HTML-форми є одним з основних моментів взаємодії користувача з сайтом або додатком. Вони дозволяють користувачам відправляти дані на сайт. Велику частину часу дані відправляються на сервер, але веб-сторінка може перехопити його, щоб використовувати самостійно. Є багато пов'язаних з формою елементів — різні види кнопок, селекторів для різних типів, механізмів зворотного зв'язку. Тому можуть виникати труднощі в процесі вирішення питання про те, які необхідно присвоїти значення атрибутів тега

. Коли справа доходить до створення форм, потрібно зробити так, щоб вони змогли працювати на різних розмірах екрану. Важливо створити їх доступними для людей з обмеженими можливостями. Тому форми і тег

з атрибутами - можливо, самий складний аспект в HTML.

З чого складається форма

HTML-форма складається з одного або декількох віджетів. Вони можуть бути однорядковими або багаторядковими текстовими полями, полями вибору, кнопками або перемикачами. Найчастіше вони пов'язані з атрибутом , який описує їх мета - правильно реалізовані можуть чітко проінструктувати як зрячих, так і незрячих користувачів про те, як потрапити в форму введення. Атрибут пов'язаний правильно з з допомогою їх for та id-атрибутів відповідно. Мітка for при цьому посилається на id атрибут відповідного віджета, а програма для читання з екрану, використовуючи його, буде зачитувати те, що в ньому написано.
Крім структур, специфічних для тега

важливо пам'ятати, що форми — просто код на мові HTML. Це означає, що можна використовувати всю міць HTML для структуризації форм. Звичайною практикою є використання тега щоб обернути елементи з тегом . Також широко використовуються списки HTML, для структурування застосовують множинні чекбокси або радіокнопки. Після створення полів для введення залишається додати кнопку за допомогою тега і перевірити результат. Гнучкість HTML-форм робить їх одними з самих складних структур у форматі HTML. Але з допомогою правильної структури при побудові HTML-форми можна гарантувати, що вона буде одночасно зручною та доступною.