Все о 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 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 , что позволяет отключить и все его содержимое за один раз.
Этот элемент включает глобальные атрибуты.
-
инвалид Если этот логический атрибут установлен, все элементы управления формы, которые являются потомками
, отключены, то есть они недоступны для редактирования и не будут отправлены вместе с. Они не будут получать никаких событий просмотра, таких как щелчки мышью или события, связанные с фокусом. По умолчанию браузеры отображают такие элементы управления серым цветом. Обратите внимание, что элементы формы внутри элементане будут отключены.-
форма Этот атрибут принимает значение идентификатора
элемента, частью которого должен быть, даже если он не находится внутри формы. Обратите внимание, что использование этого сбивает с толку — если вы хотите, чтобыэлементавнутрибыли связаны с формой, вам нужно использовать атрибут формынепосредственно для этих элементов.
Вы можете проверить, какие элементы связаны с формой через JavaScript, используя 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. В противном случае он устанавливает контекст форматирования блока.
Вы можете свободно стилизовать и в соответствии с дизайном вашей страницы.
Простой набор полей
В этом примере показан действительно простой пример с <легенда> и один элемент управления внутри него.
<форма действие="#">
<набор полей>
поля>
форма>
Отключенный набор полей
В этом примере показан отключенный с двумя элементами управления внутри него. Обратите внимание, как оба элемента управления отключены из-за того, что они находятся внутри отключенного <набор полей> .
<форма действие="#">
<набор полей отключен>
<дел>








Они не будут получать никаких событий просмотра, таких как щелчки мыши или события, связанные с фокусом. По умолчанию браузеры отображают такие элементы управления серым цветом. Обратите внимание, что элементы формы внутри элемента 

Ошибку 262679 .
См. Ошибку 262679 .
Вы можете проверить, какие элементы связаны с формой через JavaScript, используя
Включите JavaScript для просмотра данных.