- Html forms input checkbox
- Что такое флажок типа ввода в HTML?
- Как сделать флажок в HTML?
- Является ли флажок входом?
- Как сохранить флажок установленным в HTML?
- Как вставить флажок?
- Что такое элемент управления вводом флажка?
- Какой тег создает флажок для формы в HTML?
- Try it
- Value
- Additional attributes
- Использование флажковых входов
- Обработка нескольких флажков
- Флажки по умолчанию
- Обеспечивая большую область попадания для ваших флажков
- Флажки «Определить состояние
- Validation
- Examples
- HTML
- CSS
- JavaScript
- Specifications
Html forms input checkbox
Что такое флажок типа ввода в HTML?
определяет флажок. Флажок отображается в виде квадратного поля, которое отмечено (отмечено) при активации. Флажки используются, чтобы позволить пользователю выбрать один или несколько вариантов из ограниченного числа вариантов. Совет. Всегда добавляйте тег , чтобы улучшить доступность!
Как сделать флажок в HTML?
Самый простой способ создания флажка в HTML-это использование тега input.Мы установили тип ввода «checkbox»,как видно из кода примера.Атрибут name позволяет нам дать имя флажку,а с помощью атрибута value мы указываем значение,которое он будет содержать.
Является ли флажок входом?
Элементы типа checkbox отображаются по умолчанию как флажки, которые отмечены галочкой при активации, как вы можете видеть в официальной правительственной бумажной форме.
Как сохранить флажок установленным в HTML?
Проверенный атрибут является логическим атрибутом. Когда он присутствует, он указывает, что элемент должен быть предварительно выбран (проверен) при загрузке страницы. Атрибут checked можно использовать с и . Атрибут checked также можно установить после загрузки страницы с помощью JavaScript.
Как вставить флажок?
Шаг 1:Щелкните значок флажка на вкладке Разработчик В документе Word щелкните курсором в том месте,где вы хотите вставить флажок,например,слева от элемента списка.Затем выберите Разработчик на верхней ленте и в разделе Элементы управления щелкните значок флажка.
Что такое элемент управления вводом флажка?
Элементы управления выбором:флажки.Элементы управления выбором позволяют пользователю выбирать варианты.Используйте флажки для:Выбрать один или несколько вариантов из списка.Представить список,содержащий подвыборы.
Какой тег создает флажок для формы в HTML?
Подробное решение. Концепция: Флажок — это элемент формы, который позволяет вам выбирать несколько параметров из различных доступных вариантов. Флажки создаются с помощью HTML-тега .
Try it
Примечание. Радиокнопки похожи на флажки, но с важным отличием: радиокнопки сгруппированы в набор, в котором одновременно может быть выбрана только одна радиокнопка, тогда как флажки позволяют включать и выключать отдельные значения. Там, где существует несколько элементов управления, переключатели позволяют выбрать один из них, а флажки позволяют выбрать несколько значений.
Value
Строка, представляющая значение флажка. Это не отображается на стороне клиента, но на сервере это value , присвоенное данным, отправленным с name флажка . Возьмем следующий пример:
form> div> input type="checkbox" id="subscribeNews" name="subscribe" value="newsletter"> label for="subscribeNews">Subscribe to newsletter? label> div> div> button type="submit">Subscribe button> div> form>
В этом примере у нас есть имя subscribe и значение newsletter . Когда форма отправлена, пара данных имя / значение будет subscribe=newsletter .
Если value атрибута было опущено, значение по умолчанию для этого маркера on , так что представленные данные в этом случае будут subscribe=on .
Примечание. Если флажок не установлен при отправке формы, на сервер не отправляется значение, представляющее его непроверенное состояние (например, value=unchecked ); значение вообще не отправляется на сервер. Если вы хотите отправить значение по умолчанию для флажка, когда он не отмечен, вы можете включить внутри формы с тем же name и value , возможно, сгенерированным JavaScript.
Additional attributes
В дополнение к общим атрибутам, общим для всех элементов , входы « checkbox » поддерживают следующие атрибуты.
Логический атрибут, указывающий, установлен ли этот флажок по умолчанию (при загрузке страницы). Он не указывает, установлен ли этот флажок в настоящее время: если состояние флажка изменилось, этот атрибут содержимого не отражает изменения. (Обновляется только checked IDL-атрибут HTMLInputElement HTMLInputElement
Примечание: В отличие от других элементов управления ввода, значение флажка в включаются только в представленных данных , если флажок в настоящее время checked . Если это так, то value атрибута значения флажка сообщается как входное значение. В отличии от других браузеров, Firefox по умолчанию сохраняется динамическое состояние проверяется из по загрузке страницы. Используйте атрибут autocomplete для управления этой функцией.
Использование флажковых входов
Мы уже рассказали о наиболее основном использовании флажков выше.Теперь давайте посмотрим на другие общие функции и техники,связанные с флажками,которые вам понадобятся.
Обработка нескольких флажков
Пример,который мы видели выше,содержал только один флажок;в реальных ситуациях вы,скорее всего,столкнетесь с несколькими флажками.Если они полностью не связаны,то вы можете просто работать с ними по отдельности,как показано выше.Однако,если они все связаны,то все не так просто.
Например, в следующей демонстрации мы включаем несколько флажков, чтобы позволить пользователю выбирать свои интересы (см. Полную версию в разделе « Примеры »).
fieldset> legend>Choose your interests legend> div> input type="checkbox" id="coding" name="interest" value="coding"> label for="coding">Coding label> div> div> input type="checkbox" id="music" name="interest" value="music"> label for="music">Music label> div> fieldset>
В этом примере вы увидите, что мы дали каждому флажку одно и то же name . Если оба флажка отмечены, а затем форма отправлена, вы получите строку пар имя/значение, представленную следующим образом: interest=coding&interest=music . Когда эта строка достигает сервера, вам нужно проанализировать ее иначе, чем как ассоциативный массив, чтобы были захвачены все interest Об одном методе, используемом с Python, см ., например, в разделе Обработка нескольких флажков с помощью одной переменной на стороне сервера .
Флажки по умолчанию
Чтобы установить флажок по умолчанию, вы присваиваете ему атрибут checked . См. Пример ниже:
fieldset> legend>Choose your interests legend> div> input type="checkbox" id="coding" name="interest" value="coding" checked> label for="coding">Coding label> div> div> input type="checkbox" id="music" name="interest" value="music"> label for="music">Music label> div> fieldset>
Обеспечивая большую область попадания для ваших флажков
В приведенных выше примерах вы, возможно, заметили, что вы можете переключить флажок, щелкнув соответствующий элемент , а также сам флажок. Это действительно полезная функция меток HTML-форм, которая упрощает выбор нужного параметра, особенно на устройствах с маленьким экраном, таких как смартфоны.
Помимо доступности, это еще одна веская причина для правильной настройки элементов в ваших формах.
Флажки «Определить состояние
Помимо отмеченных и снятых отметок, есть третье состояние, в котором может находиться флажок: неопределенный . Это состояние, в котором невозможно сказать, включен или выключен элемент. Это устанавливается с помощью HTMLInputElement объекта indeterminate свойства с помощью JavaScript (он не может быть установлен с помощью атрибута HTML):
inputInstance.indeterminate = true;
Флажок в неопределенном состоянии имеет горизонтальную линию в окошке (это выглядит как дефис или знак минуса)вместо флажка/галочки в большинстве браузеров.
Для этой недвижимости не так уж и много случаев использования.Наиболее распространенным является ситуация,когда доступен флажок,который «владеет» рядом вложенных опций (которые также являются флажками).Если все вложенные опции отмечены,флажок «владеет» также отмечен,и если они все сняты,флажок «владеет» не отмечен.Если одна или более вложенных опций имеют другое состояние,чем другие,флажок обладание находится в неопределенном состоянии.
Это можно увидеть в приведенном ниже примере (спасибо CSS Tricks за вдохновение). В этом примере мы отслеживаем ингредиенты, которые собираем для рецепта. Когда вы устанавливаете или снимаете флажок ингредиента, функция JavaScript проверяет общее количество проверенных ингредиентов:
- Если ни один из пунктов не отмечен,флажок с именем рецепта будет снят.
- Если один или два отмечены, флажок названия рецепта устанавливается на indeterminate .
- Если все три проверяется, флажок имени рецепта установлен в положении checked .
Таким образом, в этом случае indeterminate состояние используется для обозначения того, что сбор ингредиентов начался, но рецепт еще не завершен.
const overall = document.querySelector('#enchantment'); const ingredients = document.querySelectorAll('ul input'); overall.addEventListener('click', (e) => < e.preventDefault(); >); for (const ingredient of ingredients) < ingredient.addEventListener('click', updateDisplay); > function updateDisplay( ) < let checkedCount = 0; for (const ingredient of ingredients) < if (ingredient.checked) < checkedCount++; >> if (checkedCount === 0) < overall.checked = false; overall.indeterminate = false; > else if (checkedCount === ingredients.length) < overall.checked = true; overall.indeterminate = false; > else < overall.checked = false; overall.indeterminate = true; > >
Примечание. Если вы отправляете форму с неопределенным флажком, происходит то же самое, как если бы флажок был снят — никакие данные не отправляются для представления флажка.
Validation
Флажки поддерживают проверку (предлагается всем ). Однако большинство ValidityState всегда будет false . Если флажок имеет required атрибут, но не установлен, то ValidityState.valueMissing будет true .
Examples
Следующий пример является расширенной версией примера «нескольких флажков»,который мы рассматривали выше-в нем больше стандартных опций,плюс флажок «другой»,который при установке флажка вызывает появление текстового поля для ввода значения опции «другой».Это достигается с помощью простого блока JavaScript.Пример также включает некоторые CSS для улучшения стиля.
HTML
form> fieldset> legend>Choose your interests legend> div> input type="checkbox" id="coding" name="interest" value="coding"> label for="coding">Coding label> div> div> input type="checkbox" id="music" name="interest" value="music"> label for="music">Music label> div> div> input type="checkbox" id="art" name="interest" value="art"> label for="art">Art label> div> div> input type="checkbox" id="sports" name="interest" value="sports"> label for="sports">Sports label> div> div> input type="checkbox" id="cooking" name="interest" value="cooking"> label for="cooking">Cooking label> div> div> input type="checkbox" id="other" name="interest" value="other"> label for="other">Other label> input type="text" id="otherValue" name="other"> div> div> button type="submit">Submit form button> div> fieldset> form>
CSS
html < font-family: sans-serif; > form < width: 600px; margin: 0 auto; > div < margin-bottom: 10px; > fieldset < background: cyan; border: 5px solid blue; > legend < padding: 10px; background: blue; color: cyan; >
JavaScript
const otherCheckbox = document.querySelector('#other'); const otherText = document.querySelector('#otherValue'); otherText.style.visibility = 'hidden'; otherCheckbox.addEventListener('change', () => < if (otherCheckbox.checked) < otherText.style.visibility = 'visible'; otherText.value = ''; > else < otherText.style.visibility = 'hidden'; > >);