Елементи HTML форм - список, що випадає (теги select, option, optgroup), текстове поле (textarea), а також застосування label, fieldset і legend. Вибір зі списку, що випадає в HTML Як зробити вибір сторінки в html
Поле зі списком, зване ще спадне меню, один із гнучких і зручних елементів форми. Залежно від налаштувань у списку можна вибирати одне або кілька значень. Перевага списку в компактності та універсальності, список може займати один або кілька рядків, в ньому можна вибирати одне або кілька значень. Поле зі списком створюється так.
Тег
Атрибути тега
Розглянемо атрибути тега , за допомогою яких можна змінювати подання списку.
multiple
Наявність multiple повідомляє браузеру відображати вміст елемента як список множинного вибору. Кінцевий вигляд списку залежить від використовуваного атрибута size. Якщо він відсутній, то висота списку дорівнює кількості пунктів, якщо значення size менше числа пунктів, з'являється вертикальна смуга прокручування.
Для вибору кількох значень списку використовуються клавіші Ctrl і Shift спільно з курсором миші.
У прикладі 1 показано створення списку множинного вибору.
Приклад 1. Список множинного вибору
HTML5 IE Cr Op Sa Fx
перелік
name
Визначає унікальне ім'я елемента . Зазвичай це ім'я використовується для доступу до даних через скрипти або для отримання вибраного значення серверним обробником.
size
Встановлює висоту списку. Якщо значення size дорівнює одиниці, то список перетворюється на розкривається. Значення за замовчуванням залежить від multiple атрибута . Якщо він присутній, то розмір списку дорівнює числу елементів. Коли multiple немає, значення атрибута size дорівнює 1.
Атрибути тега
Тег
selected
Робить поточний пункт списку виділеним. Якщо у тега доданий атрибут multiple , можна виділяти більше одного пункту.
value
Визначає значення списку, який буде надіслано на сервер. На сервер відправляється пара «ім'я/значення», де ім'я задається атрибутом name тега , а значення - атрибутом значення виділених пунктів списку. Значення може як збігатися з текстом пункту, і бути самостійним.
label
Призначений для вказівки мітки пункту списку, скороченого порівняно з текстом усередині
Створення списку показано у прикладі 2.
Приклад 2. Використання списку
HTML5 IE Cr Op Sa Fx
перелік
Групування елементів списку
При досить великому списку має сенс згрупувати його елементи блоків, щоб забезпечити наочність списку і зручність роботи з ним. Для цієї мети застосовується тег
Приклад 3. Групування елементів списку
HTML5 IE Cr Op Sa Fx
перелік
Результат прикладу показано на рис. 1.
Мал. 1. Групований список
Здрастуйте, шановні читачі блогу сайт. В рамках вивчення премудростей як чергове завдання продовжимо розбирати подробиці створення форм на сайті за допомогою відповідних.
Сьогодні ми розберемо, як створювати списки, що випадають (розкриваються), у тому числі з множинним вибором, за допомогою select та option, яким чином сконструювати текстове полеза допомогою текстової області, а також поговоримо про можливість розширення функціональності форм шляхом застосування тегів fieldset, label і legend.
Нагадаю, що будь-яка форма, яка є на сторінці, створюється за допомогою і призначена для введення будь-якої інформації від користувача та відправки її на сервер (приклад — ).
На жаль, засоби мови гіпертекстової розмітки не дозволяють безпосередньо обробляти цю інформацію, тому за допомогою HTML ми створюємо лише зовнішній вигляд форми, а необхідні дані надсилаються для обробки. З цією метою на вебсервері цілеспрямовано створюється спеціальний файл, написаний однією з серверних мов (найчастіше PHP). Скажімо, для зворотного зв'язку можна створити файл mail.php, який і буде обробником.
При практичному використанні отриманої в цій публікації інформації не забудьте про те, як має виглядати, де коди всіх видимих елементів сторінки, включаючи форми, завжди знаходяться в межах тега body.
Ця інформація вкрай необхідна, оскільки навіть у разі використання всіх сучасних вбудованих інструментів розробників (нагадаю, першою ластівкою в реалізації цього функціоналу був ), ви повинні чітко уявляти собі механізм використання основних тегів, тоді редагування коду HTML, необхідність якого виникає час від часу, перетвориться на приємне заняття.
2. Multiple— цей атрибут, що не має параметрів, дає можливість множинного вибору на відміну від наведеного вище прикладу, де можна вибрати тільки один елемент (рядок). Спробуйте виділити в цьому списку мишкою відразу кілька рядків (по одному в будь-яких місцях, утримуючи клавішу Ctrl, або за допомогою Shift наступних один за одним):
3. Size— встановлює висоту списку, що випадає, тобто кількість рядків, що відображаються. Якщо є атрибут multiple, а значення size не вказано (як у прикладі вище), то за промовчанням відображається чотири рядки, а, наприклад, при size="5" буде видно вже п'ять:
Option Textarea Label Fieldset Legend
4. Required(Параметрів не має) - визначає, що обов'язково потрібно зробити вибір перед відправкою даних обробнику. Якщо елемент зі списку не вибрано, дані форми не надіслані:
Option Textarea Label Fieldset Legend
5. Autofocus(не має значення) — встановлює фокус на список відразу після завантаження сторінки. Крім того, якщо користувач звик основну частину дій робити клавішами, то саме таке попередньо налаштоване фокусування допоможе робити вибір зі списку за допомогою стрілок на клавіатурі без будь-якого використання мишки:
6. Disabled(Параметрів немає) — блокує доступ до списку (відключає його). На практиці зазвичай використовується разом зі скриптами в тих випадках, коли потрібно включати список, що розкривається, тільки при виконанні певних умов:
7. Form- здійснює зв'язок списку з однією або декількома формами, до яких він належить, але знаходиться поза контейнером
. При цьому в ролі значення атрибута form прописується параметр глобального атрибуту id, який додано до тега form:
Виберіть із списку Option Textarea Label Fieldset Legend
Не плутайте атрибут тега select та основний тег для створення форми. У прикладі вище до тега form доданий атрибут id = "data", а до select - form = "data", що і дозволило зв'язати список, що випадає, з конкретною формою.
Атрибути тега option
1. Value— визначає те значення зі списку, що випадає на сервер (обробнику форми). Власне, обробнику відправляється ім'я, яке задається атрибутом name тега select, та значення value(для даного прикладу - 1, 2, 3, 4, 5), що відповідає обраному рядку випадаючого списку:
Option Textarea Label Fieldset Legend
2. Disabled— блокує для вибору елемент списку, що випадає.
Option Textarea Label Fieldset Legend
Як видно з прикладу, рядок «Option» неактивний і вибрати його неможливо.
3. Label— відображає текстовий зміст (який є його значенням) того чи іншого елемента списку. Якщо label присутній, то виводиться рядок, тотожний значенню цього атрибуту і ігнорується текстовий зміст, що знаходиться всередині тега option. Те саме відбувається, якщо вміст між зовсім відсутня.
Тег Textarea Тег Label Тег Fieldset Тег Legend
Дивіться. У наведеному вище прикладі перший рядок для option в коді порожній (у лівій частині таблиці), але прописаний параметр label="Тег Option", в результаті саме цей текст з'явився в списку (у правій частині). Другий рядок коду як вміст тегу option містить текст «Тег Textarea», але в списку праворуч відображається слово «Textarea», що співпадає зі значенням label="Textarea".
4. Selected— виділяє поточний пункт списку:
Option Textarea Label Fieldset Legend
Якщо є атрибут multiple, то є можливість виділення більше одного елемента:
Option Textarea Label Fieldset Legend
Атрибути тега optgroup
Якщо список, що випадає, необхідно якось упорядкувати, наприклад, розділити по групах, то для кожної з цих груп використовують контейнер, що складається з відкриває і закриває тегів optgroup, всередині якого міститься частина пунктів випадаючого списку. При цьому існують два атрибути для налаштування подібного списку, що розкривається.
1. Label— встановлює назву кожної групи як параметр:
Option Textarea Label Fieldset Legend
Те ж саме, але з multiple та size="7" тега select:
Option Textarea Label Fieldset Legend
2. Disabled(немає значень) — блокує вибір елементів тієї групи, щодо якої він встановлений, причому неактивні пункти зазвичай виділені сірим кольором:
Option Textarea Label Fieldset Legend
Невеликий відеоролик буде тут дуже доречним:
Текстове поле у формі за допомогою тексту
Ще один елемент форми для сайту, який ми розглянемо - поле з можливістю введення до нього багаторядкового тексту. Його можна створити за допомогою тега текстуобласті. Без атрибутів за замовчуванням застосування цього тегу дасть такий результат:
Введіть текст:
У полі можна здійснювати перенесення рядків, при цьому текст передаватиметься обробнику на сервер з урахуванням зроблених переносів. Поле можна розтягувати по ширині та довжині, захопивши мишкою нижній правий кут, який відзначений двома діагональними смужками.
Спробуємо тепер додати до початкового коду кілька атрибутів із параметрами:
1. Name— визначає ім'я текстової області як значення для її ідентифікації після надсилання даних форми під час їх обробки на сервері.
2. Cols— ширина поля, яка в ролі параметра задається числом однакових символів, що стоять поруч, розміщених по горизонталі. Значення за замовчуванням – 20.
3. Rows- Висота текстового поля, що визначається кількістю рядків. Якщо кількість рядків тексту, що вводиться користувачем, виявиться більшою за значення, задане цим атрибутом, то праворуч з'явиться вертикальна смуга прокручування.
4. Maxlength— вказує максимальну кількість символів, які можна помістити у текстове поле. При перевищенні ліміту подальше введення буде неможливим.
Нижче наведено приклад з усіма перерахованими атрибутами, дію кожного з яких ви можете перевірити особисто, просто помістивши в область тексту потрібну кількість літер і рядків (можете просто ввести один і той же символ кілька разів):
Введіть текст:
5. Minlength— вказує на мінімальну кількість знаків, які необхідно ввести в текстову область. Якщо користувач спробує відправити текст з меншою кількістю символів, то браузер виведе коротке повідомлення з інформацією, в якій буде міститися згадка про необхідність доповнити зміст форми і про те, скільки символів вже введено.
7. Readonly(без параметрів) - якщо до textarea прикрутити цей атрибут, то текстове поле виявиться недоступним для зміни користувачами і буде призначене лише для читання. Але на нього можна навести фокус (підведіть курсор до поля і клацніть лівою кнопкою мишки), а також виділити та скопіювати (частково або повністю) текст:
Ще кілька атрибутів, що реалізують додатковий функціонал під час заповнення полів:
8. Autocomplete— вказує, чи повинен браузер видавати підказки при заповненні форми користувачем на підставі даних, що раніше вводилися, і дає можливість автоматично вставляти відповідний текст.
Має все два параметри: on(включено) та off(Вимкнений). Ось приклад коду:
Цей атрибут із значенням «on» працює лише тоді, коли у веб-браузері конкретного користувача увімкнено автозаповнення полів форми.
9. Wrap- Встановлює для браузера правила перенесення рядків у текстовій області за допомогою трьох значень:
Soft— набір символів, які не розміщуються в полі за шириною, автоматично переноситься на новий рядок. При цьому обробнику текст буде передано у вигляді одного рядка. Якщо користувач здійснить перенесення тексту в будь-якому потрібному місці за допомогою клавіші «Enter», то таке перенесення зберігається при відправці вебформи.
Введіть текст:
Hard— переноси здійснюються автоматично, якщо текст не влазить у поле по ширині, причому, при надсиланні обробнику місця таких переносів буде збережено. Цей параметр використовується тільки в зв'язці з атрибутом cols:
Введіть текст:
Off- Вимкнення переносів рядків. Якщо надрукувати текстовий фрагмент без механічного перенесення за допомогою клавіші «Enter», весь текст буде поміщений в один рядок, причому, з'явиться горизонтальна смуга прокручування:
Введіть текст:
10. Autofocus(не має параметрів) — ініціює фокусування на текстовому полі під час завантаження сторінки з формою.
11. Disabled— на відміну від атрибуту readonly (який також забороняє редагувати вміст поля, але дає можливість навести на нього фокус), повністю блокує доступ до текстової області, яка фарбується зазвичай у сірий колір:
Опис
Тег дозволяє створити елемент інтерфейсу у вигляді списку, що розкривається, а також список з одним або множинним вибором, як показано далі. Кінцевий вигляд залежить від використання атрибуту size тега , що встановлює висоту списку.
усередину форми. Це також потрібно, коли до даних переліку йде звернення через скрипти.
Синтаксис
Дозволяє перейти до списку за допомогою певних клавіш.
Встановлює, що список отримує фокус після завантаження сторінки.
Блокує доступ та зміну елемента.
HTML5 IE Cr Op Sa Fx
Пов'язує список із формою.
Ім'я елемента для надсилання на сервер або звернення через скрипти.
Крім того, ми розмістили всередині форми кнопку, яка служить для надсилання форми (елемент з типом кнопки "надсилання форми": type = "submit" ).
Результат нашого прикладу:
Підказка для текстової області
І так ми з Вами розглянемо заключний приклад та перейдемо до практичного завдання статті цього підручника.
Завдяки атрибуту (HTML тега
Текст підказки ховається, коли користувач вводить значення (будь-який символ) у текстове поле, якщо його прибрати, то підказка буде відображена знову.
Розглянемо приклад використання:
Атрибути placeholder і readonly тега
"Поле доступне лише для читання" readonly >
type = "submit" name = "submitInfo" value = "надіслати"
>
!}
У цьому прикладі ми створили дві текстові області (елемент
), для першої та другої області атрибутом ми задали підказку для користувача, яка відображається блідим кольором тексту всередині елемента. Для другої текстової області атрибутом readonly ми вказали, що вона буде доступна тільки для читання (вміст не може бути змінено).
Зверніть увагу на те, що якщо текстове поле доступне тільки для читання, то при цьому вміст не може бути змінено, але користувач може перейти до вмісту, виділити і скопіювати його.
Крім того, ми розмістили всередині форми кнопку, яка служить для надсилання форми (елемент з типом кнопки "надсилання форми": type = "submit" ).
Результат нашого прикладу:
Запитання та завдання на тему
Перед тим як перейти до вивчення наступної теми, пройдіть практичне завдання:
Використовуючи отримані знання, складіть наступну форму розміщення вакансії:
Перш ніж приступити до виконання завдання, відкрийте приклад у новому вікні і уважно розгляньте форму, щоб повторити всі її моменти. Для виконання завдання Вам знадобляться знання зі статті. Якщо ви пропустили її, то поверніться до її вивчення.
Після того, як ви виконаєте вправу, проінспектуйте код сторінки, відкривши приклад в окремому вікні, щоб переконатися, що ви все виконали правильно.
Дуже часто при реєстраціях або анкетуванні на сайтах, вас просять зробити якийсь вибір зі списку. Наприклад, вибрати вашу країну з багатьох інших країн. Все це різні елементи форми, вони можуть бути і по-різному оформлені: від простого HTML5до складного CSS3.
Сьогодні ми розберемо один із таких прикладів оформлення поля вибору, застосовуючи HTML/CSSта іконку Font Awesome. Але почнемо ми зазвичай з розмітки документа.
HTML-код
Усередині тега selectзнаходяться пункти списку, що випадає option. У свою чергу, теги selectі formвкладені у загальний контейнер div. Тег formповинен бути обов'язково, якщо дані згодом будуть відправлятися на сервер.
Позиціонуємо контейнер із класом boxу центрі вікна.
В цілому select boxготовий і працює, але виглядає він нудно, та й трикутник, у який потрібно буде потрапити мишкою дуже маленький. А якщо я так подумав, значить і дизайнер подумає, треба заздалегідь підготуватися до різних варіантів.
Найімовірніше дизайнер поставить на місце крихітного трикутника - іконку зі шрифту Font Awesome.
Так набагато красивіше виглядає, а писати код все одно треба верстальнику. Яке тут може бути рішення? Ми не чіпатимемо HTML-код, а задіємо псевдо-елемент before.
Псевдо-елемент before для.box
Перше, що треба зробити - це прописати код іконки та назву шрифту "Font Awesome 5 Free". Вибираємо на сайті fontawesome.comнеобхідну іконку, що означає "вибір" і копіюємо її код.
Далі позиціонуємо абсолютно, вказуємо розміри 50x50, білий колір біля іконки, світло-фіолетовий фон. Задаємо дуже важливу властивість pointer-events: none. Це означає, що псевдо-елемент beforeне є об'єктом події миші, а значення noneпропонує події "вибору мишею" проходити на нижній шар і звертатися до елемента, що під ним - до того маленького трикутника. Трикутник нікуди не зник, просто він знаходиться під псевдоелементом before, що служить лише прикрасою. Клацаючи по красивій іконці, насправді спрацьовує "некрасивий" трикутник, і ми робимо свій вибір.