Все о datalist, fieldset и button в HTML
Привет, в рамках этого урока мы разберемся оставшимися тегами формы, а именно: datalist, fieldset, legend, button. Также разберемся в нюансах и частоте использования этих тегов. Текстовая версия урока в полной версии этой статьи.
Datalist
<datalist> — содержит набор опций (<option>), доступных для выбора. Выбранное значение будет установлено для элемента <input>, с атрибутом list.
Не стоит использовать его вместо тега <select>, но можно использовать как вспомогательный тег для <input>. Причина в том что его сложнее обрабатывать через JavaScript.
<form action=""> <label for="ice-cream-choice">Choose a flavor:</label> <input list="ice-cream-flavors" name="ice-cream-choice" /> <datalist> <option value="Chocolate"> <option value="Coconut"> <option value="Mint"> <option value="Strawberry"> <option value="Vanilla"> </datalist> </form>
Fieldset
<fieldset> — существует для группировки <input> внутри тега <form>, а также помогает удобно управлять группой полей.
<form action="#"> <h4>Registration form</h4> <fieldset> <div> <label for="name_input">First name:</label> <input type="text" placeholder="Email"> </div> <div> <label for="surname_input">Surname:</label> <input type="text" placeholder="Surname"> </div> </fieldset> <br> <fieldset disabled> <div> <label for="email_input">Email:</label> <input type="text" placeholder="Email"> </div> <div> <label for="password_input">Password:</label> <input type="text" placeholder="Password"> </div> </fieldset> </form>
У <fieldset> также есть несколько атрибутов, которые помогают управлять сразу всей группой <input>.
name — задает общее имя для группы
disabled — делает группу недоступной для редактирования
form — если <fieldset> лежит вне тега <form> то этот атрибут позволит вам связать их.
<form action=""> <h4>Example form</h4> <label> <input type="text" placeholder="Some example input"> </label> </form> <fieldset form="example_form"> <div> <label for="name_2_input">First name:</label> <input type="text" placeholder="Email"> </div> <div> <label for="surname_2_input">Surname:</label> <input type="text" placeholder="Surname"> </div> </fieldset>
Legend
<legend> — Является заголовком для группы элементов, сгруппированных через <fieldset>
<form action=""> <h4>Another Example Form</h4> <fieldset> <legend>User info</legend> <div> <label for="name_3_input">First name:</label> <input type="text" placeholder="Email"> </div> <div> <label for="surname_3_input">Surname:</label> <input type="text" placeholder="Surname"> </div> </fieldset> <br> <fieldset disabled> <legend>User credentials</legend> <div> <label for="email_3_input">Email:</label> <input type="text" placeholder="Email"> </div> <div> <label for="password_3_input">Password:</label> <input type="text" placeholder="Password"> </div> </fieldset>
Button
<button> — Парный тег, который предназначен для создания кнопки, имеет схожие атрибуты с тегом <input>.
Может использовать как внутри <form> заменяя собой <input type=»button»>, так и просто как отдельный элемент на странице.<form action=""> <h4>Another Example Form</h4> <fieldset> <legend>User info</legend> <div> <label for="name_3_input">First name:</label> <input type="text" placeholder="Email"> </div> <div> <label for="surname_3_input">Surname:</label> <input type="text" placeholder="Surname"> </div> </fieldset> <br> <fieldset disabled> <legend>User credentials</legend> <div> <label for="email_3_input">Email:</label> <input type="text" placeholder="Email"> </div> <div> <label for="password_3_input">Password:</label> <input type="text" placeholder="Password"> </div> </fieldset> <fieldset> <legend>Form Controls</legend> <button type="submit">Submit</button> <button type="reset">Clear Form</button> </fieldset> </form>
Файлы с урока
P. S. Подпишись на мой youtube и telegram канал чтобы регулярно получать новый контент.
onplay | Скрипт викликається коли медіа дані готові почати відтворення. |
onafterprint | Скрипт виконується тільки після як документ надрукований. |
onbeforeprint | Скрипт виконується перед тим, як документ надрукований. |
onbeforeunload | Скрипт виконується коли документ ось-ось буде вивантажений |
onhashchange | Скрипт виконується коли там відбулися зміни до частини якоря в URL |
onload | Викликається після того як завантаження елемента завершене. |
onmessage | Скрипт виконується коли викликане повідомлення. |
onoffline | Спрацьовує коли браузер починає працювати в автономному режимі |
ononline | Спрацьовує коли браузер починає працювати в режимі онлай. |
onpagehide | Скрипт виконується коли користувач переходить на іншу сторінку сторінку. |
onpageshow | Скрипт виконується коли користувач заходить на сторінку. |
onpopstate | Скрипт виконується коли змінено історію одного вікна. |
onresize | Скрипт виконується, коли розмір вікна браузера змінюється. |
onstorage | Скрипт виконується, коли вміст Web Storage оновлюється. |
onunload | Викликається, коли сторінка розвантажена, або вікно браузера було зачинено. |
onblur | Скрипт виконується, коли елемент втрачає фокус. |
onchange | Викликається в той момент, коли значення елемента змінюється. |
oncontextmenu | Скрипт виконується коли викликається контекстне меню. |
onfocus | Викликається в той момент, коли елемент отримує фокус. |
oninput | Скрипт викликається коли користувач вводить дані поле. |
oninvalid | Скрипт виконується, коли елемент недійсний. |
onreset | Викликається, коли натискається у формі кнопка типу Reset. |
onsearch | Викликається, коли користувач щось пише в поле пошуку (для <input type="search">) |
onselect | Викликаєтсья після того як будь-який текст був обраний в елементі. |
onsubmit | |
onkeydown | Подія викликається, коли користувач затис (натиснув та не відпускає) клавішу. |
onkeypress | Викликається коли корисрувач натиснув на клавішу. |
onkeyup | Викликається коли користувач відпускає клавішу. |
ondblclick | Виникає при подвійному клацанні ЛКМ на елементі. |
ondrag | Періодично викликається при операції перетягування. |
ondragend | Викликається коли користувач відпускає перелягуваний елемент. |
ondragenter | Викликається, коли перетягуваний елемент входить в цільову зону. |
ondragleave | Викликається, коли перетягуваний елемент виходть з зони призначення. |
ondragover | Викликається, коли перетягуваний елемент знаходиться в зоні призначення. |
ondragstart | Викликається, коли користувач починає перетягувати елемент, або виділений текст. |
ondrop | Викликається, коли перетягуваний елемент падає до зони призначення. |
onmousedown | Викликається, коли користувач затискає ЛКМ на елементі. |
onmousemove | Викликається, коли курсор миші переміщається над елементом. |
onmouseout | Викликається, коли курсор виходить за межі елемента. |
onmouseover | Виконується, коли курсор наводиться на елемент. |
onmouseup | Викликається, коли користувач відпускає кнопку миші. |
onscroll | Викликається при прокручуванні вмісту елемента (чи веб-сторінки). |
onwheel | Викликається, коли користувач прокручує коліщатко миші. |
oncopy | Викликається, коли користувач копіює вміст елемента. |
oncut | Викликається, коли користувач вирізає вміст елемента. |
onpaste | Викликається, коли користувач вставляє вміст в елемент. |
onabort | Виконується при перериванні якоїсь події. |
oncanplay | Скрипт виконується коли файл готовий, для початку відтворення (коли він буферизований достатньо, щоб почати відтворення) |
oncanplaythrough | Скрипт виконується, коли контент вже може бути відтворений без переривання на буферизацію. |
oncuechange | Скрипт виконується коли змінюється кий в <track> елемента |
ondurationchange | Викликається коли змінюється довжина медіа файлу. |
onemptied | Викликається коли доступ до медіа контенту обривається (зникло з’єднання з мережею). |
onended | Викликається коли медіа елемент повністю відтворив свій зміст. |
onshow | Викликається, коли елемент <menu> буде відображено як контекстне меню. |
onloadedmetadata | Скрипт виконується коли метадані (розміри чи тривалість) завантажуються. |
onloadeddata | Викликається коли медіа данні завантажено. |
onloadstart | Викликається коли браузер тільки починає завантажувати медіа дані з сервера. |
onpause | Викликається коли відтворення медіа даних призупинено. |
onplaying | Викликається коли розпочато відтворення медіа даних. |
onprogress | Подія onprogress відбувається, коли браузер завантажує вказане аудіо / відео. |
onratechange | Викликається коли змінюється швидкість відтворення медіа даних. |
onseeked | Викликається коли атрибут seeked у тега audio або video змінює значення з true на false. |
onseeking | Викликається коли атрибут seeking у тегів audio або video змінює значення з false на true |
onstalled | Скрипт виконується коли браузер з будь-якої причини не може отримати медіа дані. |
onsuspend | Скрипт виконується коли з будь-якої причини завантаження данних призупинено до його повного завантаження. |
ontimeupdate | Викликається коли змінилася позиція відтворення елемента <audio> або <video>. |
onvolumechange | Викликається коли змінюється гучність звуку. |
onwaiting | Викликається коли наступний кадр при відтворенні медіа даних недоступний, але браузер очікує що він незабаром завантажиться. |
ontoggle | Викликається, коли користувач відкриває або закриває елемент <details>. |
onerror | Викликається якщо при завантаженні елемента сталася помилка. |
onclick | Подія викликається коли користувач клацає ЛКМ по елементу. |
: Элемент набора полей
<fieldset>
HTML — элемент используется для группировки нескольких элементов управления, а также в качестве меток ( <label>
) в веб — форме.
Try it
Как показано в приведенном выше примере, элемент <fieldset>
обеспечивает группировку для части HTML-формы, а вложенный элемент <legend>
обеспечивает заголовок для <fieldset>
. Он принимает несколько атрибутов, наиболее заметным из которых являются form
, которая может содержать id
из более <form>
на той же странице, что позволяет сделать <fieldset>
часть этого <form>
, даже если он не вложенным , и disabled
, что позволяет отключить <fieldset>
и все его содержимое за один раз.
Attributes
Этот элемент включает глобальные атрибуты .
disabled
Если этот логический атрибут установлен, все элементы управления формы, которые являются потомками
<fieldset>
, отключены, то есть они не редактируются и не будут отправлены вместе с<form>
. Они не будут получать никаких событий просмотра, таких как щелчки мыши или события, связанные с фокусом. По умолчанию браузеры отображают такие элементы управления серым цветом. Обратите внимание, что элементы формы внутри элемента<legend>
не будут отключены.form
Этот атрибут принимает значение атрибута
id
элемента<form>
<fieldset>
, даже если он не находится внутри формы. Обратите внимание, что использование этого сбивает с толку — если вы хотите, чтобы элементы<input>
внутри<fieldset>
были связаны с формой, вам нужно использовать атрибутform
Вы можете проверить, какие элементы связаны с формой через JavaScript, используяHTMLFormElement.elements
.name
Имя,связанное с группой.
Примечание . Заголовок для набора полей задается первым элементом
<legend>
, вложенным в него.
Стиль с CSS
Есть несколько особых соображений относительно стиля для <fieldset>
.
Его display
значение по умолчанию является block
, и оно устанавливает контекст форматирования блока . Если <fieldset>
стилизован с display
значением на уровне строки , он будет вести себя как inline-block
, в противном случае он будет вести себя как block
. По умолчанию вокруг содержимого имеется groove
шириной 2 2px
и небольшое количество отступов по умолчанию. По умолчанию элемент имеет min-inline-size: min-content
.
Если присутствует <legend>
, она помещается поверх границы block-start
. В <legend>
термоусадочные пояски, а также устанавливает контекст форматирования. display
значение blockified. (Например, display: inline
ведет себя как block
. )
Будет анонимное поле, содержащее содержимое <fieldset>
, которое наследует определенные свойства от <fieldset>
. Если для <fieldset>
задан стиль display: grid
или display: inline-grid
, то анонимный блок будет контекстом форматирования сетки. Если <fieldset>
оформлен с помощью display: flex
или display: inline-flex
, то анонимное поле будет контекстом форматирования flex. В противном случае он устанавливает контекст форматирования блока.
Вы можете свободно <fieldset>
и <legend>
так, как хотите, в соответствии с дизайном вашей страницы.
Examples
Simple fieldset
В этом примере показан действительно простой пример <fieldset>
с <legend>
и единственным элементом управления внутри него.
<form action="#"> <fieldset> <legend>Simple fieldset</legend> <input type="radio"> <label for="radio">Spirit of radio</label> </fieldset> </form>
Disabled fieldset
В этом примере показан отключенный <fieldset>
с двумя элементами управления внутри него. Обратите внимание, что оба элемента управления отключены из-за того, что они находятся внутри отключенного <fieldset>
.
<form action="#"> <fieldset disabled> <legend>Disabled fieldset</legend> <div> <label for="name">Name: </label> <input type="text" value="Chris"> </div> <div> <label for="pwd">Archetype: </label> <input type="password" value="Wookie"> </div> </fieldset> </form>
Technical summary
Content categories | Содержимое потока , корень секционирования , перечисленный , связанный с формой элемент, осязаемое содержимое. |
---|---|
Permitted content | Необязательный элемент <legend> , за которым следует поток содержимого. |
Tag omission | Нет,и начальная и конечная метки обязательны. |
Permitted parents | Любой элемент, который принимает потоковое содержимое . |
Неявная роль ARIA | group |
Разрешенные роли АРИА | radiogroup , presentation , none |
DOM interface | HTMLFieldSetElement |
Specifications
Specification |
---|
Стандарт HTML # элемент fieldset |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
fieldset | Yes Не поддерживает | 12 Не поддерживает | Yes | Yes | Yes Не поддерживает | Yes | Yes Не поддерживает | Yes Не поддерживает | Yes | Yes Не поддерживает | Yes | Yes Не поддерживает |
disabled | Yes | 12 Не работает с вложенными наборами полей. Например: | Yes | Yes Не все потомки элементов управления формой отключенного набора полей правильно отключены в IE11; см. ошибку IE 817488: input [type = ‘file’] не отключен внутри отключенного набора полей и ошибку IE 962368: все еще можно редактировать input [type = ‘text’] в fieldset [disabled] . | 12 | 6 | 4.4 | Yes | Yes | ? | 6 | Yes |
form | Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
name | Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
© 2005–2021 Авторы MDN.
Лицензия Creative Commons Attribution-ShareAlike License v2.5 или более поздняя.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset
&двоеточие; Элемент набора полей — HTML: Язык гипертекстовой разметки
HTML-элемент используется для группировки нескольких элементов управления, а также меток (
) в веб-форме.
Как показано в приведенном выше примере, элемент обеспечивает группировку части HTML-формы, а вложенный элемент
обеспечивает заголовок для
. Требуется несколько атрибутов, наиболее заметными из которых являются 9.0004 форма , которая может содержать
id
на той же странице, что позволяет вам сделать
частью этого
, даже если он не вложен в него, и
disabled
, что позволяет отключить и все его содержимое за один раз.
Этот элемент включает глобальные атрибуты.
-
инвалид
Если этот логический атрибут установлен, все элементы управления формы, которые являются потомками
, отключены, то есть они недоступны для редактирования и не будут отправлены вместе с
. Они не будут получать никаких событий просмотра, таких как щелчки мышью или события, связанные с фокусом. По умолчанию браузеры отображают такие элементы управления серым цветом. Обратите внимание, что элементы формы внутри элемента
не будут отключены.
-
форма
Этот атрибут принимает значение идентификатора
, частью которого должен быть
, даже если он не находится внутри формы. Обратите внимание, что использование этого сбивает с толку — если вы хотите, чтобы
элемента
внутрибыли связаны с формой, вам нужно использовать атрибут формы
HTMLFormElement.elements
.-
имя
Имя, связанное с группой.
Примечание: Заголовок набора полей задается первым элементом
, вложенным в него.
Существует несколько особенностей оформления .
Его значение display
равно блоку
по умолчанию, и оно устанавливает контекст форматирования блока. Если имеет стиль отображения встроенного уровня
, он будет вести себя как
встроенный блок
, в противном случае он будет вести себя как блок
. По умолчанию существует граница 2px
канавки
, окружающая содержимое, и небольшое количество отступов по умолчанию. Элемент имеет min-inline-size: min-content
по умолчанию.
Если присутствует <легенда>
, он помещается за границу block-start
. <легенда>
сокращает, а также устанавливает контекст форматирования. Значение на дисплее
заблокировано. (Например, display: inline
ведет себя как block
.)
Будет анонимный блок, содержащий содержимое , который наследует определенные свойства от
. Если
имеет стиль
display: grid
или display: inline-grid
, то анонимное поле будет контекстом форматирования сетки. Если имеет стиль
display: flex
или display: inline-flex
, тогда анонимное поле будет контекстом форматирования flex. В противном случае он устанавливает контекст форматирования блока.
Вы можете свободно стилизовать и
в соответствии с дизайном вашей страницы.
Простой набор полей
В этом примере показан действительно простой пример с
<легенда>
и один элемент управления внутри него.
<форма действие="#"> <набор полей> поля> форма>
Отключенный набор полей
В этом примере показан отключенный с двумя элементами управления внутри него. Обратите внимание, как оба элемента управления отключены из-за того, что они находятся внутри отключенного
<набор полей>
.
<форма действие="#"> <набор полей отключен> <дел>