Html примеры radiobutton: Переключатели | htmlbook.ru

Содержание

Еще раз о визуализации input типа checkbox и radio. Для тех, кто забыл как / Хабр

Тема старая и уже, как выяснилось, подзабытая.

Недавно у меня была короткая работа по разработке ТЗ на модернизацию давно существующего проекта. И, в частности дело касалось стилизации пресловутых <input type=»checkbox»>. Выяснилось, что исполнитель, программист «на все руки» даже не понял, что я ему на словах объяснял как это сделать. Пришлось делать примеры и, как результат, появился этот текст.

Напомню, что сейчас checkbox и radiobox разные сайты изображают по-разному. Бывает, что не отмеченный input сразу и не разглядишь – такой он «дизайнерский красивый», а у последних версий Chrome выбранные checkbox стали гнусного цвета циан.

Итак, ситуация

Есть три компании, которые используют некий программный продукт, связанный с заказами, бухгалтерией, складом и пр. Работа с заказчиками, партнерами, исполнителями и пр.

Маркетологи и рекламщики тоже его используют. Что эта система делает – неважно, на чем написано – неважно.

А важно, что на сайте этого продукта есть много страниц с формами, на которых много input checkbox и radio.

Жалобы сотрудников

Директор: На большом экране плохо видно и незаметны «крыжики».
Главбух: На моем компе «крыжики» выглядят так, у сотрудниц иначе, дома тоже не так, а на планшете совсем иначе.
Маркетолог: А можно, так что бы некоторые не выбранные позиции были красными, а другие выбранные были зелеными?
И т.д., и т.п.

Итак, задача


  1. Минимальными затратами и минимальными изменениями исправить внешний вид checkbox и radiobox.
  2. Сделать стилизацию checkbox и radiobox для разных юзеров. Важно: это закрытый сайт, там «всё свои», «красоты» не нужны, а нужна эффективность восприятия.

Что нельзя

1. Серверную часть трогать нельзя.
2. Файлы javascript трогать нельзя, свой javascript вставлять нельзя.
3. Файлы css трогать нельзя.

А что можно

1. Править html шаблоны.
2. Создать файл стилей для всех юзеров.
4. Создать файл стилей для конкретного юзера или группы юзеров.
А что сделали можно сразу посмотреть на codepen.io, но лучше почитать дальше.

Предварительное изучение показало

1. Почти все <input type=»checkbox»> имеют поле name, а которые не имеют, то у них есть id.

2. Все <input type=»radio»> имеют поле name, некоторые имеют id.
3. Соответственно, в css к checkbox можно обращаться как по id, так и по name. К radio – или по id, или по номеру потомка у родителя.

Фрагменты исходного кода:

/* вариант 1 */
<tag><input type="checkbox"> Некий текст</tag>
/* вариант 2 */
<tag><input type="checkbox"> Некий текст<br>
<input type="checkbox"> Некий текст</tag>
/* вариант 3 */
. ..<label><input type="checkbox"> Некий текст</label>...
/* вариант 4 */
<td><input type="checkbox"></td>
<td><label for="idxxx">Некий текст</label></td>

Так исправим код:

/* вариант 1 */
<tag><label><input type="checkbox"><s></s><span>Некий текст</span></label></tag>
/* вариант 2 */
<tag><label><input type="checkbox"><s></s><span>Некий текст</span></label><br>...</tag>
/* вариант 3 */
...<label><input type="checkbox"><s></s><span>Некий текст</span></label>...
/* вариант 4 */
<td><label><input type="checkbox"><s></s></label></td>
<td><label for="idxxx">Некий текст</label></td>

Всё тоже самое и для <input type=»radio»>, класс у LABEL тот же.

Что конкретно сделали?


  1. Каждый input (корме варианта 3) обернули тэгом LABEL с нашим классом. Варианту 3 просто добавили класс.
  2. Сразу после input вставили пустой тэг S. Так как сам input будет не видим, то это тэг будет визуализировать это input.
  3. Сопроводительный текст обернули тэгом SPAN (кроме варианта 4). Этот тэг понадобиться, когда будем решать вопрос выравнивания визуального input относительно этого текста.
  4. Варианту 4 добавили еще класс, что бы не осуществлять это выравнивание, раз сопроводительный текст стоит в другой ячейки таблицы. Строго говоря, надо было бы сделать на оборот – вариантам 1-3 добавить класс, отвечающий за выравнивание. Но, вариантов 1-3 гораздо больше, чем 4-го и что бы не раздувать html сделано так.

Риторические вопросы и риторические же ответы

1. Зачем тэг S? Ну, не нравится S – можно использовать любой другой строчный элемент. Просто он должен быть, его можно стилизовать в зависимости от состояния предшествующего input.

2. Почему тэги S и SPAN без классов?

Ну, зачем раздувать html? Тем более, что не очевидно, что одна из конструкций ниже будет «работать» медленнее другой.

  .new-input > S { }
  .new-input > .new-input-S {}

3. Как вы догадались, мне не нравятся идеи БЭМ, тем более идея «раздувать» html файл обилием упоминаний разных классов. В реальном проекте мы использовали только два класса – mni и mnio. :-))

Некоторые предварительные рассуждения и настройки css касательно box-sizing:border-box, нормализации LABEL, селекторов «A + B», «A ~ B» и «[attr]», псевдоклассов :checked, :disabled и ::before. Кто не уверен, что знает или хочет освежить знания смотрит под катом.

Предварительные рассуждения

1. Напомню, что в «старом» css (box-sizing:content-box) свойства width и height задают только ширину и высоту содержимого, а padding и border добавляются к этим значениям.

box-sizing:border-box меняет схему так, что padding и border включаются в width и height.

2. Проверка показала, что в нашем случае используется старая модель, а менять «настройки» страниц запрещено. Не «наши» LABEL это простые строчные элементы, в них только текст. Поэтому стилизуем ВСЕ LABEL.

LABEL {
    box-sizing:border-box; cursor:pointer; user-select:none;
}
LABEL *,
LABEL *::before,
LABEL *::after {
    box-sizing:inherit;
}

Т.е., ставим box-sizing:border-box для тэга LABEL, всем его потомкам. Заодно ставим курсор и запрещаем выделение текст (что бы не мешало клику).

3. Комбинация селекторов «A + B» означает, что стили будут применяться только к селектору B, если он следует сразу ПОСЛЕ селектора A, т.е. только для первого B. С другой стороны, «A ~ B» означает, что ко всем селекторам B после селектора A, т.е. для первого и последующих.

Естественно, всё в пределах одного «родителя».

Как это будем использовать?

<label><input type="checkbox"><s></s><span>Некий текст</span></label>
<label><input type="radio"><s></s><span>Некий текст</span></label>
/* 1 */
. new-input > INPUT + S {}
.new-input > INPUT ~ SPAN {}
/* 2 */
.new-input > INPUT:not(:checked) + S {}
.new-input > INPUT:not(:checked) ~ SPAN {}
/* 3 */
.new-input > INPUT:checked + S {}
.new-input > INPUT:checked ~ SPAN {}
/* 4 */
.new-input > INPUT:disabled + S {}
.new-input > INPUT:disabled ~ SPAN {}
/* 5 */
.new-input > INPUT[type="radio"] + S {}

Первая группа – общие стили для тэгов S и SPAN.
Вторая группа – стили только когда INPUT НЕ выбран.

Третья – стили только когда INPUT выбран.
Четвертая – когда INPUT заблокирован.

И, наконец, пятая группа – общие стили для тэга S ТОЛЬКО, если он стоит после input radio.
Таким образом, можно изменять стили тэгов S и SPAN в зависимости от состояния input.

4. Поскольку у нас тэг S будет изображать из себя input, то самому input поставим display:none, его не будет видно, а тэг LABEL будет его переключать, а тэг S будет соответственно меняться. Почему не используем html свойство hidden у input? Потому, что на некоторых браузерах hidden у input «работает» не совсем верно, плюс не будем перегружать html файл.


Итак, начинаем визуализацию input

Пример N 1. Самый простой – используем алфавитные символы
html код тот же, а css будет такой:

/* s1 */
.new-input > INPUT + S::before {
  content: "c";
}
/* s2 */
.new-input > INPUT:checked + S::before {
  content: "V";
}
/* s3 */
.new-input > INPUT[type="radio"] + S::before {
  content: "r";
}
/* s4 */
.new-input > INPUT[type="radio"]:checked + S::before {
  content: "X";
}
/* s5 */
.new-input > INPUT:disabled + S::before {
  opacity: 0.5;
}
/* s6 */
.new-input > S {
  text-decoration: none;
  margin-left: 3px;
  margin-right: 6px;
}
/* s7 */
.new-input > S::before {
  display: inline-block;
  width: 1.25em;
  text-align: center;
  color: #fafafa;
  background-color: #37474f;
}
/* s8 */
.new-input > INPUT[type="radio"] + S::before {
  border-radius: 50%;
}

Тэг S буде визуализировать input. Но мы «разделим» его по функционалу: сам тэг S будет отвечать за размещение в LABEL и выравнивание относительно следующего SPAN.

А псевдоэлемент

S::before разместится внутри тэга S и будет изображать из себя input.

Строка s1 определяет, какой символ будет помещен в S::before когда input не выбран. В принципе надо было бы написать «.new-input > INPUT:not(:checked) + S::before», но некоторые браузеры (например, IE), подобную конструкцию могут и не исполнить.
Строка s2 определяет символ, когда input выбран.
Строки s3 и s4 делают то же для input radio.
Строка s5 описывает, что будет если input заблокирован – в данном случае тэг S будет наполовину прозрачным.
Строка s6 определяет выравнивание, в данном случае дает отбивку слева и справа (только в этом примере). Плюс, убирает штатное перечеркивание.
Строка s7 делает квадратик, s8 превращает его в кружок для input radio.

Пример N 1 можно посмотреть на codepen.io. Там представлены нативные input и новые. Первые можно убрать.

Чуток подробнее про display: inline-block, font-size, line-height

Конченая высота строки текста определяется на основе заданных font-size, line-height. При единичном line-height – высота будет по font-size, при числовом line-height – высота будет по их произведению или, при указании единиц измерения для line-height – высоту определит максимальное значение. В примере указан line-height:1.25, поэтому и у S::before указано width:1.25em.

Для S::before указано display: inline-block – в этом случае S::before «внутри» себя будет блоком (можно указать ширину, высоту, рамки и пр.), а «снаружи» он останется строчным элементом. В дальнейшем об этом будет подробнее.

Вопрос:

Может можно использовать специальные символы? Типа вот этих:
□ ■ ▢ ▣ ○ ● ◎◉
Задать им нужный размер и всё. Нет?

Ответ:

Можно. Но не нужно. Ибо будет большой геморрой и танцы с бубнами по заданию нужного размера, выравнивания по вертикали, обрезке по высоте и прочее. Плюс, разные браузеры с этими символами работают по-разному.
Мы пошли другим путем. Хотя в финальном примере есть реализация этой идеи.

Пример N 2. «Рисуем» элементы input средствами css

html код тот же, а css будет такой:

/* s1 */
.new-input > S::before {
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border: 1px solid currentColor;
  padding: 2px;
  background-clip: content-box;
  border-radius: 20%;
}
/* s2 */
.new-input > INPUT[type="radio"] + S::before {
  border-radius: 50%;
}
/* s3 */
.new-input > INPUT:checked + S::before {
  background-color: currentColor;
}
/* s4 */
.new-input > INPUT:disabled + S::before {
  opacity: 0.5;
}
/* s5 */
.new-input > S {
  text-decoration: none;
  margin-left: 3px;
  margin-right: 6px;
}

Строка s1 определяет S::before для визуализации input. Это будет inline-block, ширина и высота которого установлена в 0.75em, что примерно равно высоте прописной буквы и зависит от font-size родителя. Задана тонкая рамка текущим цветом, внутренняя отбивка, небольшое скругление углов. И – самое важное! – установлено свойство background-clip:content-box. Это очень интересное свойство – если будет установлен background-color, то он закрасит только контентную часть и не затронет отбивку (padding). Что нам и надо.

Строка s2 для input типа radio делает S::before круглым.
Строка s3 для отмеченного input устанавливает для S::before background-color текущим цветом. Т.е., «рисует» внутри квадратик или кружок.
Строка s4 отрабатывает блокировку input, строка s5 дает отбивки слева и справа.

Преимущества этого метода

  1. Всё очень просто. Работает на всех браузерах. Даже у IE10 (в эмуляции у 11-го).
  2. Можно раскрашивать по своему усмотрению.
  3. Раз S::before это inline-block, то он сидит на попе базовой линии ровно и никуда с нее не слезает. Если он по высоте будет больше текста, то просто увеличит высоту строки и останется на базовой линии.
  4. Раз визуализация input находится внутри тэга S, то его можно легко позиционировать и выравнивать.
  5. Размеры S::before в em дают возможность задавать его размер относительно размера текста подписи. Можно, к примеру, поставить предельные значения высоты и ширины.

Недостатки этого метода

В основном в использовании размеров в em. Дело в том, что может возникнуть ситуация когда ширина и высота при расчете (из em в px) будет иметь дробное значение. На обычных компьютерах с обычным экраном округление может произойти не корректно. Например, размеры 12.8px на 12.8px у той же Мозилы могут стать как 13px на 12px. Тогда надо ставить фиксированные размеры. Хотя на современных мониторах и видеокартах, ноутбуках, на планшетах и смартфонах этого не происходит из-за того, что точка (пиксель) браузера состоит из нескольких пикселей экрана.

Пример N 2 можно посмотреть на codepen.io. Там представлены нативные input и новые. Первые можно убрать.
Итак, первую задачу – визуализацию input – выполнили. Переходим к избранной «раскраске».

Раскрашиваем input

html для примера:

<label><input name="chb1" type="checkbox" ...><s></s><span>Некий текст</span></label>
<label><input type="radio" ...><s></s><span>Некий текст</span></label>

К input типа checkbox будем обращаться по name, к radio по id.

Всё красим в синий

/* только input */
.new-input > INPUT[name="chb1"] + S,
.new-input > INPUT#rb1 + S {
  color: #0091ea;
}
/* только text */
.new-input > INPUT[name="chb1"] ~ SPAN,
.new-input > INPUT#rb1 ~ SPAN {
  color: #0091ea;
}
/* или всё */
.new-input > INPUT[name="chb1"] ~ *,
.new-input > INPUT#rb1 ~ * {
  color: #0091ea;
}

Помним о специфичности в css, эти стили будут более специфичны, чем базовые и сработают обязательно. Чем они отличаются от описанных выше? Тем, что применяются только к избранным input – к тем, что имеет указанное значение name и id.

Тут всё хорошо кроме того, что не выбранные input будут не очень хорошо глядеться – тонкая синяя рамка мало заметна.

Красим в зеленый, когда input выбран

/* только input */
.new-input > INPUT[name="chb1"]:checked + S,
.new-input > INPUT#rb1:checked + S {
  color: #00c853;
}
/* только text */
.new-input > INPUT[name="chb1"]:checked ~ SPAN,
.new-input > INPUT#rb1:checked ~ SPAN {
  color: #00c853;
}
/* или всё */
.new-input > INPUT[name="chb1"]:checked ~ *,
.new-input > INPUT#rb1:checked ~ * {
  color: #00c853;
}

Первый вариант, на мой взгляд, не очень хорош – зеленым будут и рамка, и внутренний квадратик/кружок. Можно раскрасить только его.

/* только input и только внутри */
.new-input > INPUT[name="chb1"]:checked + S::before,
.new-input > INPUT#rb1:checked + S::before {
  background-color: #00c853;
}

Красим в красный, когда input НЕ выбран

/* только input */
. new-input > INPUT[name="chb1"]:not(:checked) + S,
.new-input > INPUT#rb1:not(:checked) + S {
  color: #d50000;
}
/* только text */
.new-input > INPUT[name="chb1"]:not(:checked) ~ SPAN,
.new-input > INPUT#rb1:not(:checked) ~ SPAN {
  color: #d50000;
}
/* или всё */
.new-input > INPUT[name="chb1"]:not(:checked) ~ *,
.new-input > INPUT#rb1:not(:checked) ~ * {
  color: #d50000;
}

Логика понятна? Можно и дальше делать более сложные конструкции.

Например, при не выбранном input текст должен быть красным и жирным, а при выбранном внутренний элемент input и текст должен быть зеленым. Элементарно!

/* текст, когда нет выбора */
.new-input > INPUT[name="chb1"]:not(:checked) ~ SPAN,
.new-input > INPUT#rb1:not(:checked) ~ SPAN {
  color: #d50000;
  font-weight: bold;
}
/* внутренний элемент input, когда выбран */ 
.new-input > INPUT[name="chb1"]:checked + S::before,
.new-input > INPUT#rb1:checked + S::before {
  background-color: #00c853;
}
/* текст, когда выбран */ 
. new-input > INPUT[name="chb1"]:checked ~ SPAN,
.new-input > INPUT#rb1:checked ~ SPAN {
  color: #00c853;
}

А, к примеру, надо обработать целую группу input (10-15 штук). Что бы не писать кучу строк можно найти их общего родителя (.parent_element) и сократить условие.

.parent_element > .new-input > INPUT:not(:checked) ~ SPAN {
  color: #d50000;
  font-weight: bold;
}
.parent_element > .new-input > INPUT:checked + S::before {
  background-color: #00c853;
}
.parent_element > .new-input > INPUT:checked ~ SPAN {
  color: #00c853;
}

Всё можно посмотреть в финальном примере на codepen.io

Вот, вроде как, и всё. Осталось только «почесать родимые пятна» перфекциониста – проблемы выравнивания.

Выравнивание визуального input и сопроводительного текста

Для начала напомню общеизвестные вещи на тему размещения текста, форматирования и прочего. Всё под катом.

Общеизвестные вещи

Буду стараться не применят специальные термины, ибо в дизайне, верстке и css они иногда отличаются. Всё простыми словами.

1. Свойство font-size не определяет размер букв, а только размер знакоместа. Есть базовая линия (baseline), по которой расположены «нормальные» буквы. У «ненормальных» – g ц – нижние элементы «свисают» ниже её. Есть линия капители (cap height) – это верхняя граница «нормальной» прописной (заглавной) буквы. У «ненормальных» – Ё Й – верхние элементы «вылезают» выше её. Иными словами, размер прописной буквы это расстояние от базовой линии до капители, а знакоместо это чуть больше сверху и снизу. Обычно в «нормальных» шрифтах высота капители это 75% от высоты знакоместо. К примеру, font-size:16px, а размер буквы Н у шрифта Arial будет 12px. Но, бывают «специалисты» у шрифтов которых всё не так.

2. Свойство line-height определяет высоту строки. Если его вычисленное значение больше, чем указано в font-size, то браузер разместит текст так, что бы нормальная прописная буква была по середине высоты строки. Есть нюансы, но тут они не важны.

3. Соответственно, в нашем случае тэги S и SPAN должны иметь одинаковые значения font-size и line-height желательно заданные где-то выше у родителей. В нашем случае в примерах font-size:16px и line-height:1.25. Поэтому в примере N1 у S::before ширина указана 1.25em, а высота у него определяется автоматически. А в примере N2 (и финальный пример) – у S::before ширина и высота 0.75em, что бы был по высоте с прописную букву. Задав другое значение font-size ничего менять не надо. Естественно, эту величину надо подогнать под конкретный шрифт.

4. Если перед текстом стоит какая-то квадратная или круглая «штучка», то любой дизайнер скажет, что она должна быть по высоте с прописную букву. А отбивка между ними должна быть в определенных процентах от размера шрифта. Если высота меньше высоты буквы, то она должна быть визуально значительно меньше, но не меньше 50%. Если больше, то тоже визуально значительно больше, но не больше 150%. А вот чуть-чуть, на пару пикселей больше/меньше – это ужас-ужас! Ну, и расположена эта штучка должна быть на базовой линии или по середине без всяких там чуть-чуть.

Зачем я это упомянул? А затем, что перфекционисту глаза режет, когда input криво стоит рядом с текстом — или прилипает, или далеко, или чуть меньше, или чуть больше. Мы так делать не должны!

Что будет, если сопроводительный текст в SPAN будет выведен в две или три строки? Очевидно, что он «залезет» под input. Это не красиво, надо исправить.

Один древний метод такой: тэгу S делаем float:left, а тэгу SPAN display:block и overflow:hidden.

Получится колонка текста. Подразумевается, что у кого-то из них будет соответствующий margin, что даст отбивку между ними. Ну, ещё добавляется геморрой с прекращением float после SPAN. Мы пойдем современным путем – применим flexbox. Он тут совершенно к месту.

.new-input {
  display: flex;
  flex-direction: row;
  align-items: start;
}
.new-input > S {
  margin-right: 4px;
  flex: 0 0 auto;
}
.new-input > SPAN {
  flex: 0 1 auto;
}

В этом случае тэг LABEL (который . new-input) будет flex, S и SPAN будут блоками, разместятся вверху LABEL. Текст в SPAN в случае необходимости будет в несколько строк. Вот из-за этого визуальный input описали в S::before. Независимо от высоты SPAN S::before будет расположен на одной базовой линии с первой строкой SPAN. Как вариант можно было указать align-items:center – тогда при однострочном SPAN визуальный input был бы вверху, а при двух строках – посередине, а при трех – у второй строки. В финальном примере можно переключать расположение input.

Вот и всё

Надеюсь, было интересно и кому-нибудь полезно. Прошу, не сильно меня ругать – это мой первый опыт на Хабр.

Пример N 1 – просто демонстрация взаимодействия изменения input и соседнего элемента.

Пример N 2 – визуализация input средствами css, как основа решения.

Финальный пример – всё описанное вместе.

Про конкретную реализацию

Там были обширные формы, где блоки полей возможные для правки конкретным пользователям выделялись слабым фоном, а остальным input имели свойство disabled и служили только для информации. Поэтому стиль «.new-input > INPUT:disabled + S::before» не применяли.

UPD

В ответ на комментарии Пример N 3.
Там работает поддержка клавиш и фокуса для скрытого input.

RadioButton Класс (System.Web.UI.WebControls) | Microsoft Learn

  • Ссылка

Определение

Пространство имен:
System.Web.UI.WebControls
Сборка:
System.Web.dll

Важно!

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Представляет элемент управления «Переключатель».

public ref class RadioButton : System::Web::UI::WebControls::CheckBox
public class RadioButton : System.Web.UI.WebControls.CheckBox
type RadioButton = class
    inherit CheckBox
    interface IPostBackDataHandler
Public Class RadioButton
Inherits CheckBox
Наследование

Object

Control

WebControl

CheckBox

RadioButton

Реализации

IPostBackDataHandler

Примеры

В следующем примере кода показано, как использовать RadioButton элемент управления.

<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>RadioButton Example</title>
<script language="C#" runat="server">
 
         void SubmitBtn_Click(Object Sender, EventArgs e) {
         
             if (Radio1. Checked) {
                 Label1.Text = "You selected " + Radio1.Text;
             }
             else if (Radio2.Checked) {
                 Label1.Text = "You selected " + Radio2.Text;
             }
             else if (Radio3.Checked) {
                 Label1.Text = "You selected " + Radio3.Text;
             }
         }
 
     </script>
 
 </head>
 <body>
 
     <h4>RadioButton Example</h4>
 
     <form runat="server">
     
         <h5>Select the type of installation you want to perform:</h5>
     
         <asp:RadioButton Text="Typical" Checked="True" GroupName="RadioGroup1" runat="server" /><br />
         
         This option installs the features most typically used.  <i>Requires 1.2 MB disk space.</i><br />
             
         <asp:RadioButton Text="Compact" GroupName="RadioGroup1" runat="server"/><br />
         
         This option installs the minimum files required to run the product.   <i>Requires 350 KB disk space.</i><br />
          
         <asp:RadioButton runat="server" Text="Full" GroupName="RadioGroup1" /><br />
         
         This option installs all features for the product.  <i>Requires 4.3 MB disk space.</i><br />
 
         <asp:button text="Submit" runat="server"/>
 
         <asp:Label font-bold="true" runat="server" />
             
     </form>
 
 </body>
 </html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>RadioButton Example</title>
<script language="VB" runat="server">
    Sub SubmitBtn_Click(Sender As Object, e As EventArgs)
        
        If Radio1.Checked Then
            Label1.Text = "You selected " & Radio1.Text
        ElseIf Radio2. Checked Then
            Label1.Text = "You selected " & Radio2.Text
        ElseIf Radio3.Checked Then
            Label1.Text = "You selected " & Radio3.Text
        End If
    End Sub
 
     </script>
 
 </head>
 <body>
 
     <h4>RadioButton Example</h4>
 
     <form runat="server">
     
         <h5>Select the type of installation you want to perform:</h5>
     
         <asp:RadioButton Text="Typical" Checked="True" GroupName="RadioGroup1" runat="server" /><br />
         
         This option installs the features most typically used.  <i>Requires 1.2 MB disk space.</i><br />
             
         <asp:RadioButton Text="Compact" GroupName="RadioGroup1" runat="server"/><br />
         
         This option installs the minimum files required to run the product.  <i>Requires 350 KB disk space.</i><br />
          
         <asp:RadioButton runat="server" Text="Full" GroupName="RadioGroup1" /><br />
         
         This option installs all features for the product.   <i>Requires 4.3 MB disk space.</i><br />
 
         <asp:button text="Submit" runat="server"/>
 
         <asp:Label font-bold="true" runat="server" />
             
     </form>
 
 </body>
 </html>

В этом разделе:

  • Введение

  • Специальные возможности

  • Декларативный синтаксис

Введение

Серверный RadioButton элемент управления позволяет чередовать переключатели в группе с другим содержимым на странице. Кнопки группируются логически, если все они совместно используют одно и то же GroupName свойство.

Примечание

Элемент управления можно использовать для RadioButton отображения входных данных пользователей, которые могут включать вредоносный клиентский скрипт. Проверьте все сведения, отправляемые клиентом, для исполняемого скрипта, SQL инструкций или другого кода, прежде чем отображать его в приложении. ASP.NET предоставляет функцию проверки входных запросов для блокировки скрипта и HTML во входных данных пользователя. Серверные элементы управления проверки также предоставляются для оценки входных данных пользователем. Дополнительные сведения см. в разделе синтаксиса элемента управления сервером проверки.

Специальные возможности

Разметка, отображаемая по умолчанию для этого элемента управления, может не соответствовать стандартам специальных возможностей, таким как рекомендации по специальным возможностям веб-содержимого 1.0 (WCAG) с приоритетом 1. Дополнительные сведения о поддержке специальных возможностей для этого элемента управления см. в разделе ASP.NET Элементы управления и специальные возможности.

Декларативный синтаксис

<asp:RadioButton  
    AccessKey="string"  
    AutoPostBack="True|False"  
    BackColor="color name|#dddddd"  
    BorderColor="color name|#dddddd"  
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|  
        Inset|Outset"  
    BorderWidth="size"  
    CausesValidation="True|False"  
    Checked="True|False"  
    CssClass="string"  
    Enabled="True|False"  
    EnableTheming="True|False"  
    EnableViewState="True|False"  
    Font-Bold="True|False"  
    Font-Italic="True|False"  
    Font-Names="string"  
    Font-Overline="True|False"  
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|  
        Large|X-Large|XX-Large"  
    Font-Strikeout="True|False"  
    Font-Underline="True|False"  
    ForeColor="color name|#dddddd"  
    GroupName="string"  
    Height="size"  
    ID="string"  
    OnCheckedChanged="CheckedChanged event handler"  
    OnDataBinding="DataBinding event handler"  
    OnDisposed="Disposed event handler"  
    OnInit="Init event handler"  
    OnLoad="Load event handler"  
    OnPreRender="PreRender event handler"  
    OnUnload="Unload event handler"  
    runat="server"  
    SkinID="string"  
    Style="string"  
    TabIndex="integer"  
    Text="string"  
    TextAlign="Left|Right"  
    ToolTip="string"  
    ValidationGroup="string"  
    Visible="True|False"  
    Width="size"  
/>  

Конструкторы

RadioButton()

Инициализирует новый экземпляр класса RadioButton.

Свойства

AccessKey

Возвращает или задает клавишу доступа, обеспечивающую быстрый переход к серверному веб-элементу управления.

(Унаследовано от WebControl)
Adapter

Возвращает конкретный адаптер браузера для элемента управления.

(Унаследовано от Control)
AppRelativeTemplateSourceDirectory

Возвращает или задает относительно приложения виртуальный каталог объекта Page или UserControl, который содержит этот элемент управления.

(Унаследовано от Control)
Attributes

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

(Унаследовано от WebControl)
AutoPostBack

Возвращает или задает значение, показывающее, отправляется ли автоматически состояние CheckBox обратно на сервер при его выборе.

(Унаследовано от CheckBox)
BackColor

Получает или задает цвет фона серверного веб-элемента управления.

(Унаследовано от WebControl)
BindingContainer

Возвращает элемент управления, который содержит привязку данных элемента управления.

(Унаследовано от Control)
BorderColor

Возвращает или задает цвет рамки элемента управления Веба.

(Унаследовано от WebControl)
BorderStyle

Получает или задает стиль границы серверного веб-элемента управления.

(Унаследовано от WebControl)
BorderWidth

Возвращает или задает ширину границы серверного веб-элемента управления.

(Унаследовано от WebControl)
CausesValidation

Возвращает или задает значение, показывающее, выполняется ли проверка при выборе элемента управления CheckBox.

(Унаследовано от CheckBox)
Checked

Возвращает или задает значение, указывающее, выбран ли элемент управления CheckBox.

(Унаследовано от CheckBox)
ChildControlsCreated

Возвращает значение, которое указывает, созданы ли дочерние элементы управления серверного элемента управления.

(Унаследовано от Control)
ClientID

Получает идентификатор элемента управления для HTML-разметки, созданной ASP.NET.

(Унаследовано от Control)
ClientIDMode

Возвращает или задает алгоритм, используемый для создания значения свойства ClientID.

(Унаследовано от Control)
ClientIDSeparator

Возвращает значение символа разделителя, используемого в свойстве ClientID.

(Унаследовано от Control)
Context

Возвращает объект HttpContext, связанный с серверным элементом управления для текущего веб-запроса.

(Унаследовано от Control)
Controls

Возвращает объект ControlCollection, который представляет дочерние элементы управления для указанного элемента управления сервера в иерархии пользовательского интерфейса.

(Унаследовано от Control)
ControlStyle

Возвращает или задает стиль серверного веб-элемента управления. Это свойство используется преимущественно разработчиками элементов управления.

(Унаследовано от WebControl)
ControlStyleCreated

Возвращает значение, определяющее, был ли объект Style создан для свойства ControlStyle. Этот свойство в основном используется разработчиками элементов управления.

(Унаследовано от WebControl)
CssClass

Возвращает или задает класс каскадных листов стилей (CSS), преобразовываемый для просмотра в серверном веб-элементе управления на клиентском компьютере.

(Унаследовано от WebControl)
DataItemContainer

Возвращает ссылку на контейнер именования, если контейнер именования реализует класс IDataItemContainer.

(Унаследовано от Control)
DataKeysContainer

Возвращает ссылку на контейнер именования, если контейнер именования реализует класс IDataKeysControl.

(Унаследовано от Control)
DesignMode

Возвращает значение, указывающее, используется ли элемент управления на поверхности разработки.

(Унаследовано от Control)
Enabled

Возвращает или задает значение, определяющее, включен ли серверный веб-элемент управления.

(Унаследовано от WebControl)
EnableTheming

Возвращает или задает значение, указывающее, применяются ли темы к этому элементу управления.

(Унаследовано от WebControl)
EnableViewState

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

(Унаследовано от Control)
Events

Возвращает список делегатов обработчиков событий элемента управления. Это свойство доступно только для чтения.

(Унаследовано от Control)
Font

Возвращает свойства шрифта, связанные с серверным веб-элементом управления.

(Унаследовано от WebControl)
ForeColor

Возвращает или задает основной цвет (обычно это цвет текста) для серверного веб-элемента управления.

(Унаследовано от WebControl)
GroupName

Получает или задает имя группы, к которой принадлежит переключатель.

HasAttributes

Получает значение, определяющие наличие атрибутов у элемента управления.

(Унаследовано от WebControl)
HasChildViewState

Возвращает значение, которое указывает на наличие сохраненных параметров состояния представления у дочернего элемента серверного элемента управления.

(Унаследовано от Control)
Height

Получает или задает высоту серверного веб-элемента управления.

(Унаследовано от WebControl)
ID

Возвращает или задает программный идентификатор, назначенный серверному элементу управления.

(Унаследовано от Control)
IdSeparator

Возвращает символ, используемый для разделения идентификаторов элементов управления.

(Унаследовано от Control)
InputAttributes

Возвращает ссылку на коллекцию атрибутов для обработанного элемента ввода в элементе управления CheckBox.

(Унаследовано от CheckBox)
IsChildControlStateCleared

Возвращает значение, указывающее, имеют ли элементы управления в этом элементе управления состояние элемента управления.

(Унаследовано от Control)
IsEnabled

Возвращает значение, определяющее, включен ли элемент управления.

(Унаследовано от WebControl)
IsTrackingViewState

Возвращает значение, отражающее сохранение изменений в состояние представления серверного элемента управления.

(Унаследовано от Control)
IsViewStateEnabled

Возвращает значение, указывающее, используется ли состояние представления для этого элемента управления.

(Унаследовано от Control)
LabelAttributes

Возвращает ссылку на коллекцию атрибутов для обработанного элемента LABEL в элементе управления CheckBox.

(Унаследовано от CheckBox)
LoadViewStateByID

Возвращает значение, указывающее, участвует ли элемент управления в загрузке состояния представления ID вместо индекса.

(Унаследовано от Control)
NamingContainer

Возвращает ссылку на контейнер именования элемента управления, создающий уникальное пространство имен для различения серверных элементов управления с одинаковыми значениями свойства ID.

(Унаследовано от Control)
Page

Возвращает ссылку на экземпляр Page, содержащий серверный элемент управления.

(Унаследовано от Control)
Parent

Возвращает ссылку на родительский элемент управления серверного элемента управления в иерархии элементов управления страницы.

(Унаследовано от Control)
RenderingCompatibility

Возвращает значение, которое задает версию ASP. NET, с которой совместим созданный HTML.

(Унаследовано от Control)
Site

Возвращает сведения о контейнере, который содержит текущий элемент управления при визуализации на поверхности конструктора.

(Унаследовано от Control)
SkinID

Возвращает или задает обложку, применяемую к элементу управления.

(Унаследовано от WebControl)
Style

Возвращает коллекцию атрибутов текста, которые будут отображены в виде атрибута стиля на внешнем теге серверного веб-элемента управления.

(Унаследовано от WebControl)
SupportsDisabledAttribute

Получает значение, указывающее, должен ли элемент управления устанавливать для атрибута disabled отрисовываемого элемента HTML значение disabled, если для свойства элемента управления IsEnabled задано значение false.

(Унаследовано от WebControl)
TabIndex

Возвращает или задает индекс перехода по клавише Tab для серверного веб-элемента управления.

(Унаследовано от WebControl)
TagKey

Возвращает значение HtmlTextWriterTag, которое соответствует этому элементу управления веб-сервера. Это свойство используется преимущественно разработчиками элементов управления.

(Унаследовано от WebControl)
TagName

Возвращает имя тега элемента управления. Это свойство используется преимущественно разработчиками элементов управления.

(Унаследовано от WebControl)
TemplateControl

Возвращает или задает ссылку на шаблон, содержащий этот элемент управления.

(Унаследовано от Control)
TemplateSourceDirectory

Возвращает виртуальный каталог Page или UserControl, содержащий текущий серверный элемент управления.

(Унаследовано от Control)
Text

Возвращает или задает текстовую подпись, связанную с объектом CheckBox.

(Унаследовано от CheckBox)
TextAlign

Возвращает или задает выравнивание текстовой подписи, связанной с элементом управления CheckBox.

(Унаследовано от CheckBox)
ToolTip

Возвращает или задает текст, который отображается при наведении указателя мыши на серверный веб-элемент управления.

(Унаследовано от WebControl)
UniqueID

Возвращает уникальный идентификатор серверного элемента управления в иерархии.

(Унаследовано от Control)
ValidateRequestMode

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

(Унаследовано от Control)
ValidationGroup

Получает или задает группу элементов управления, для которых элемент управления CheckBox инициирует проверку при обратной передаче на сервер.

(Унаследовано от CheckBox)
ViewState

Возвращает словарь сведений о состоянии, позволяющих сохранять и восстанавливать состояние представления серверного элемента управления при нескольких запросах одной и той же страницы.

(Унаследовано от Control)
ViewStateIgnoresCase

Возвращает значение, указывающее, является ли объект StateBag нечувствительным к регистру.

(Унаследовано от Control)
ViewStateMode

Возвращает или задает режим состояния представления данного элемента управления.

(Унаследовано от Control)
Visible

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

(Унаследовано от Control)
Width

Получает или задает ширину серверного веб-элемента управления.

(Унаследовано от WebControl)

Методы

AddAttributesToRender(HtmlTextWriter)

Добавляет атрибуты и стили HTML элемента управления CheckBox, которые должны преобразовываться для просмотра в указанном потоке вывода.

(Унаследовано от CheckBox)
AddedControl(Control, Int32)

Вызывается после добавления дочернего элемента управления в коллекцию Controls объекта Control.

(Унаследовано от Control)
AddParsedSubObject(Object)

Уведомляет серверный элемент управления, что элемент XML или HTML был проанализирован, и добавляет элемент в серверный элемент управления объекта ControlCollection.

(Унаследовано от Control)
ApplyStyle(Style)

Копирует любой непустой элемент указанного стиля в элемент управления Веба, перезаписывая уже существующие элементы стиля. Этот метод, в основном, используется разработчиками элементов управления.

(Унаследовано от WebControl)
ApplyStyleSheetSkin(Page)

Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления.

(Унаследовано от Control)
BeginRenderTracing(TextWriter, Object)

Запускает трассировку во время разработки данных отрисовки.

(Унаследовано от Control)
BuildProfileTree(String, Boolean)

Собирает сведения о серверном элементе управления и доставляет их свойству Trace, которое отображается при включенной на странице трассировке.

(Унаследовано от Control)
ClearCachedClientID()

Задает для кэшированного свойства ClientID значение null.

(Унаследовано от Control)
ClearChildControlState()

Удаляет сведения о состоянии элемента управления для дочерних элементов управления серверного элемента управления.

(Унаследовано от Control)
ClearChildState()

Удаляет сведения о состоянии элемента управления и состоянии представления для всех дочерних элементов серверного элемента управления.

(Унаследовано от Control)
ClearChildViewState()

Удаляет сведения о состоянии представления для всех дочерних элементов серверного элемента управления.

(Унаследовано от Control)
ClearEffectiveClientIDMode()

Задает для свойства ClientIDMode текущего экземпляра элемента управления и любых его дочерних элементов управления значение Inherit.

(Унаследовано от Control)
CopyBaseAttributes(WebControl)

Копирует не инкапсулированные объектом Style свойства из указанного серверного веб-элемента управления веб-сервера в элемент управления веб-сервера, откуда вызывается этот метод. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
CreateChildControls()

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

(Унаследовано от Control)
CreateControlCollection()

Создает новый объект ControlCollection для хранения дочерних элементов управления (литеральных и серверных) серверного элемента управления.

(Унаследовано от Control)
CreateControlStyle()

Создает объект стиля, который используется внутри класса WebControl для реализации всех относящихся к стилю свойств. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
DataBind()

Привязывает источник данных к вызываемому серверному элементу управления и всем его дочерним элементам управления.

(Унаследовано от Control)
DataBind(Boolean)

Привязывает источник данных к вызванному серверному элементу управления и всем его дочерними элементами управления с возможностью вызова события DataBinding.

(Унаследовано от Control)
DataBindChildren()

Привязывает источник данных к дочерним элементам управления серверного элемента управления.

(Унаследовано от Control)
Dispose()

Включает серверный элемент управления для выполнения окончательной чистки до освобождения памяти.

(Унаследовано от Control)
EndRenderTracing(TextWriter, Object)

Завершает трассировку во время разработки данных отрисовки.

(Унаследовано от Control)
EnsureChildControls()

Определяет наличие у серверного элемента управления дочерних элементов управления. Если дочерних элементов управления нет, они будут созданы.

(Унаследовано от Control)
EnsureID()

Создает идентификатор для элементов управления, которые не имеют назначенного идентификатора.

(Унаследовано от Control)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindControl(String)

Выполняет поиск серверного элемента управления с заданным параметром id в текущем контейнере именования.

(Унаследовано от Control)
FindControl(String, Int32)

Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным id и целым числом, указанным в параметре pathOffset, который содействует поиску. Эту версию метода FindControl не следует переопределять.

(Унаследовано от Control)
Focus()

Задает фокус ввода на элемент управления.

(Унаследовано от Control)
GetDesignModeState()

Возвращает данные времени разработки для элемента управления.

(Унаследовано от Control)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetRouteUrl(Object)

Возвращает URL-адрес, соответствующий набору параметров маршрута.

(Унаследовано от Control)
GetRouteUrl(RouteValueDictionary)

Возвращает URL-адрес, соответствующий набору параметров маршрута.

(Унаследовано от Control)
GetRouteUrl(String, Object)

Возвращает URL-адрес, соответствующий набору параметров маршрута и имени маршрута.

(Унаследовано от Control)
GetRouteUrl(String, RouteValueDictionary)

Возвращает URL-адрес, соответствующий набору параметров маршрута и имени маршрута.

(Унаследовано от Control)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetUniqueIDRelativeTo(Control)

Возвращает часть с префиксом свойства UniqueID указанного элемента управления.

(Унаследовано от Control)
HasControls()

Определяет наличие у серверного элемента управления дочерних элементов управления.

(Унаследовано от Control)
HasEvents()

Возвращает значение, указывающее, регистрируются ли события для элемента управления или каких-либо дочерних элементов управления.

(Унаследовано от Control)
IsLiteralContent()

Определяет наличие у серверного элемента управления только текстового содержимого.

(Унаследовано от Control)
LoadControlState(Object)

Восстанавливает сведения о состоянии элемента управления предыдущего запроса страницы, сохраненные методом SaveControlState().

(Унаследовано от Control)
LoadPostData(String, NameValueCollection)

Обрабатывает данные обратной передачи для элемента управления RadioButton.

LoadPostData(String, NameValueCollection)

Обрабатывает данные обратной передачи для элемента управления CheckBox.

(Унаследовано от CheckBox)
LoadViewState(Object)

Загружает предварительно сохраненное состояние представления элемента управления CheckBox.

(Унаследовано от CheckBox)
MapPathSecure(String)

Извлекает физический путь, к которому ведет виртуальный путь (абсолютный или относительный).

(Унаследовано от Control)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MergeStyle(Style)

Копирует любой непустой элемент указанного стиля в элемент управления Веба, но не перезаписывает уже существующие элементы стиля. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
OnBubbleEvent(Object, EventArgs)

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

(Унаследовано от Control)
OnCheckedChanged(EventArgs)

Вызывает событие CheckedChanged элемента управления CheckBox. Это позволяет непосредственно обрабатывать событие.

(Унаследовано от CheckBox)
OnDataBinding(EventArgs)

Вызывает событие DataBinding.

(Унаследовано от Control)
OnInit(EventArgs)

Вызывает событие Init.

(Унаследовано от Control)
OnLoad(EventArgs)

Вызывает событие Load.

(Унаследовано от Control)
OnPreRender(EventArgs)

Вызывает событие PreRender.

OnUnload(EventArgs)

Вызывает событие Unload.

(Унаследовано от Control)
OpenFile(String)

Возвращает Stream, используемое для чтения файла.

(Унаследовано от Control)
RaiseBubbleEvent(Object, EventArgs)

Присваивает родительскому элементу управления все источники события и сведения о них.

(Унаследовано от Control)
RaisePostDataChangedEvent()

Вызывает событие CheckedChanged, если свойство Checked было изменено при обратной передаче.

RaisePostDataChangedEvent()

Вызывает событие OnCheckedChanged(EventArgs), если отправленные данные для элемента управления CheckBox изменились.

(Унаследовано от CheckBox)
RemovedControl(Control)

Вызывается после удаления дочернего элемента управления из коллекции Controls объекта Control.

(Унаследовано от Control)
Render(HtmlTextWriter)

Отображает объект CheckBox на стороне клиента.

(Унаследовано от CheckBox)
RenderBeginTag(HtmlTextWriter)

Выводит открывающий HTML-тег элемента управления в указанное средство записи. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
RenderChildren(HtmlTextWriter)

Выводит содержимое дочерних элементов серверного элемента управления в предоставленный объект HtmlTextWriter, который записывает это содержимое для подготовки к просмотру на клиенте.

(Унаследовано от Control)
RenderContents(HtmlTextWriter)

Выводит содержимое элемента управления в заданный модуль записи. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
RenderControl(HtmlTextWriter)

Выводит содержимое серверного элемента управления в указанный объект HtmlTextWriter и сохраняет сведения о трассировке элемента управления, если трассировка включена.

(Унаследовано от Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Выводит серверный элемент управления в указанный объект HtmlTextWriter, используя указанный объект ControlAdapter.

(Унаследовано от Control)
RenderEndTag(HtmlTextWriter)

Отображает закрывающий HTML-тег элемента управления в указанное средство записи. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
ResolveAdapter()

Возвращает адаптер элемента управления, отвечающий за отрисовку определенного элемента управления.

(Унаследовано от Control)
ResolveClientUrl(String)

Возвращает URL-адрес, который может использоваться браузером.

(Унаследовано от Control)
ResolveUrl(String)

Преобразует URL-адрес в адрес, доступный для клиента.

(Унаследовано от Control)
SaveControlState()

Сохраняет любые изменения состояния серверного элемента управления, произошедшие после отправки страницы обратно на сервер.

(Унаследовано от Control)
SaveViewState()

Сохраняет изменения в состояние представления объекта CheckBox после того, как страница отправлена на сервер.

(Унаследовано от CheckBox)
SetDesignModeState(IDictionary)

Задает данные времени разработки для элемента управления.

(Унаследовано от Control)
SetRenderMethodDelegate(RenderMethod)

Назначает делегата обработчика событий для преобразования серверного элемента управления и его содержимого для просмотра в родительский элемент управления.

(Унаследовано от Control)
SetTraceData(Object, Object)

Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки.

(Унаследовано от Control)
SetTraceData(Object, Object, Object)

Задает данные трассировки для трассировки данных отрисовки во время разработки, используя трассируемый объект, ключ данных трассировки и значение данных трассировки.

(Унаследовано от Control)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TrackViewState()

Отслеживает изменения состояния представления элемента управления CheckBox для сохранения в объекте элемента управления StateBag. Этот объект доступен с помощью свойства ViewState.

(Унаследовано от CheckBox)

События

CheckedChanged

Происходит, если значение свойства Checked изменяется между отправками на сервер.

(Унаследовано от CheckBox)
DataBinding

Происходит при привязке серверного элемента управления к источнику данных.

(Унаследовано от Control)
Disposed

Происходит при освобождении памяти, занятой серверным элементом управления, т.е. на последнем этапе жизненного цикла серверного элемента управления при запросе страницы ASP.NET.

(Унаследовано от Control)
Init

Происходит при инициализации серверного элемента управления, который находится на первом этапе его жизненного цикла.

(Унаследовано от Control)
Load

Происходит при загрузке серверного элемента управления в объект Page.

(Унаследовано от Control)
PreRender

Происходит после загрузки объекта Control, но перед отрисовкой.

(Унаследовано от Control)
Unload

Происходит при выгрузке серверного элемента управления из памяти.

(Унаследовано от Control)

Явные реализации интерфейса

6 netframework-4.6.1 netframework-4.6.2 netframework-4.7 netframework-4.7.1 netframework-4.7.2 netframework-4.8 «> 7.2 netframework-4.8 «> 0 netframework-3.0 netframework-3.5 netframework-4.0 netframework-4.5 netframework-4.5.1 netframework-4.5.2 netframework-4.6 netframework-4.6.1 netframework-4.6.2 netframework-4.7 netframework-4.7.1 netframework-4.7.2 netframework-4.8 «>
IAttributeAccessor.GetAttribute(String)

Возвращает атрибуту веб-элемента управления указанное имя.

(Унаследовано от WebControl)
IAttributeAccessor.SetAttribute(String, String)

Задает атрибуту веб-элемента управления указанное имя и значение.

(Унаследовано от WebControl)
IControlBuilderAccessor.ControlBuilder

Описание этого члена см. в разделе ControlBuilder.

(Унаследовано от Control)
IControlDesignerAccessor.GetDesignModeState()

Описание этого члена см. в разделе GetDesignModeState().

(Унаследовано от Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Описание этого члена см. в разделе SetDesignModeState(IDictionary).

(Унаследовано от Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Описание этого члена см. в разделе SetOwnerControl(Control).

(Унаследовано от Control)
IControlDesignerAccessor. UserData

Описание этого члена см. в разделе UserData.

(Унаследовано от Control)
IDataBindingsAccessor.DataBindings

Описание этого члена см. в разделе DataBindings.

(Унаследовано от Control)
IDataBindingsAccessor.HasDataBindings

Описание этого члена см. в разделе HasDataBindings.

(Унаследовано от Control)
IExpressionsAccessor.Expressions

Описание этого члена см. в разделе Expressions.

(Унаследовано от Control)
IExpressionsAccessor.HasExpressions

Описание этого члена см. в разделе HasExpressions.

(Унаследовано от Control)
IParserAccessor.AddParsedSubObject(Object)

Описание этого члена см. в разделе AddParsedSubObject(Object).

(Унаследовано от Control)
IPostBackDataHandler.LoadPostData(String, NameValueCollection)

Описание этого члена см. в разделе LoadPostData(String, NameValueCollection).

IPostBackDataHandler.RaisePostDataChangedEvent()

Описание этого члена см. в разделе RaisePostDataChangedEvent().

Методы расширения

6 netframework-4.6.1 netframework-4.6.2 netframework-4.7 netframework-4.7.1 netframework-4.7.2 netframework-4.8 «>
FindDataSourceControl(Control)

Возвращает источник данных, связанный с элементом управления данными, для заданного элемента управления.

FindFieldTemplate(Control, String)

Возвращает шаблон поля для заданного столбца в контейнере именования заданного элемента управления.

FindMetaTable(Control)

Возвращает объект метатаблицы для контейнерного элемента управления данными.

Применяется к

См. также раздел

  • CheckBox
  • Элементы управления web Server RadioButton и RadioButtonList

Radio buttons, checkboxes и другие виды селекторов

Выбери меня! Выбери меня! Нет, выбери меня! В сегодняшней статье мы рассмотрим селекторы и чем они различаются. В отличие от большинства других моих статей, основное внимание будет уделено двум компонентам (радиокнопкам (radio buttons) и флажкам (checkboxes), а также их сравнению с парой других селекторов.

Читайте также: Советы по дизайну селекторов (checkboxes, radio buttons, switches и тд.)

1. Что такое селекторы

Селектор (selector) – это поле ввода, в котором пользователь должен выбрать один (или несколько) параметров, в отличие от текстового поля, в котором пользователь имеет полную свободу действий. Селекторы, как прически Lady Gaga, бывают разных форм и стилей. Выпадающие списки, флажки, переключатели, ползунки и т.д. – это разные типы селекторов, но они не похожи друг на друга. Основное функциональное различие между этими типами селекторов состоит в том, сколько вариантов пользователь может выбрать: один или несколько.

В идеальном мире, где нет голода, браконьерства, парниковых газов или преступлений, я бы ходатайствовала об изменении названия радиокнопок на «одиночные селекторы», а флажков на «мультиселекторы». Я думаю, что подобные названия намного лучше описывают их функциональность, но, увы, эти устаревшие названия слишком укоренились, и, вероятно, останутся с нами навсегда.

2. Анатомия флажков и радиокнопок

Хотя, в этой статье мы рассмотрим различные типы селекторов, мы сосредоточимся на радиокнопках (radio buttons) и флажках (checkboxes). Ниже их анатомия.

Анатомия радиокнопок и флажков

Примечание: Иногда люди говорят «radio button»/ «checkbox», когда имеют ввиду метку и селектор вместе, в то время, как в других случаях они подразумевают только селектор. Я предпочитаю последний вариант.

3. В чем разница между радиокнопками и флажками

Радиокнопки и флажки очень похожи, за исключением нескольких ключевых отличий. Основное отличие состоит в том, что с помощью радиокнопок вы можете выбрать только один элемент, а с помощью флажков – любое количество. Я собиралась составить таблицу, чтобы объяснить это, но не стала. Не потому, что а) это звучало скучно, б) Medium не позволяет вставлять таблицы, а поэтому у меня была лучшая идея:

Викторина! Ура! Давайте посмотрим, кто даст 100% правильных ответов.

1) Сколько элементов можно выбрать в стандартном компоненте флажков (если не указано иное)?

  1. 1
  2. 3
  3. Неограниченное кол-во
  4. 0

2) Какова форма селектора радиокнопки?

  1. Квадрат
  2. Круг
  3. Шестиугольник
  4. Треугольник

3) Если вы хотите создать интерфейс, в котором пользователь сможет выбрать несколько начинок для мороженого, вы должны использовать:

  1. Радиокнопки
  2. Флажки

4) Если вы хотите создать интерфейс, в котором пользователь может выбрать тип банковского счета, который он может открыть, вы должны использовать:

  1. Радиокнопки
  2. Флажки

5) Если бы вы хотели создать селектор «Подписаться на рассылку», какой тип вы бы использовали?

  1. Радиокнопка
  2. Флажок

6) Выберите на картинке ниже вариант с радиокнопкой.

  1. A
  2. B

ОТВЕТЫ:
1): 3. Неограниченное кол-во

2): 2. Круг

3): 2. Флажки

4): 1. Радиокнопки

5): 2. Флажок

6): 1. A

Вы справились! (Надеюсь).

4. Распространенные стили селекторов

Ниже представлен ряд распространенных стилей флажков и радиокнопок, с которыми вы можете столкнуться в Интернете.

Стандартный стиль (радиокнопки / флажки)

Самый стандартный стиль флажков и радиокнопок – это кнопки с «галочками» или заполненные кружки. Я предпочитаю кнопки с галочкой, если вы не имеете дело с образовательными тестами (см. ниже).

Стандартный стиль с галочками

Стандартный стиль без галочек

Стиль кнопки в тестах (радиокнопки / флажки)

Когда пользователь отвечает на вопросы теста или викторины, мы должны убедиться в двух вещах: 1) что он может четко видеть, какие ответы выбирает, 2) что он не запутается, когда получит фидбек на свой ответ.

Если вы посмотрите на приведенный ниже пример, то увидите, что «галочка» может сбить с толку – кажется, что эти ответы верны, хотя еще не проверены.

Селекторы викторины, показывающие, что наличие галочки вызывает путаницу

Основной стиль с изображением (радиокнопки/ флажки)

Хотя этот стиль селектора может дать пользователю лучшее представление о том, что он выбирает, я редко использую его, поскольку, все равно изображение всегда будет слишком маленьким, чтобы его можно было разглядеть.

Радиокнопки и флажки с изображениями. Изображения: (с unSplash): Гамбургер от @amir_v_ali | Чикенбургер от @amir_v_ali | Веджибургер от @swimstaralex | Сыр от @swimstaralex | Помидоры от @lmablankers | Латук от @producteurslocaux

Изображения в стиле сетки (одно / несколько)

Я предпочитаю этот стиль изображений базовому, поскольку вы можете сделать изображения намного больше, и они лучше смотрятся.

Селекторы с сеткой изоражений. Изображения (с unSplash): Гамбургер от @amir_v_ali | Чикенбургер от @amir_v_ali | Веджибургер от @swimstaralex | Сыр от @swimstaralex | Помидоры от @lmablankers | Латук от @producteurslocaux

Впервые я узнал об этом стиле в тестах Buzzfeed. Они просто показывают изображение без текста. Если вы используете этот макет, пожалуйста, убедитесь, что у вас есть альтернативный текст для пользователей, использующих программу чтения с экрана или на случай плохого подключение к Интернету.

Пример одиночного селектора в стиле сетки. Скриншот: https://www.buzzfeed.com/jessicamisener/which-sandwich-are-you

Многоуровневые флажки

Многоуровневые флажки необходимы, если элементы нужно разделить на группы. Также обратите внимание, что, если выбраны лишь несколько дочерних элементов, родительская категория выбирается только частично.

Многоуровневые флажки

Это один из наиболее сложных элементов интерфейса, потому что верхний элемент (родительский) действует одновременно, как селектор и, как аккордеон. А что, если вы нажмете на метку, она выберет селектор или откроет / закроет аккордеон? Я не смогла найти определенное исследование того, какой вариант лучше, поскольку это необычный паттерн, но в прошлом я делала метку не селектором, а частью аккордеона. Пишите в комментариях, если у вас есть предложения, как решить эту дилемму.

Принудительный выбор

Иногда вам нужно разрешить пользователям выбирать только определенное количество элементов. Если пользователь выберет на одно значение больше разрешенного количества, самый первый выбранный вариант будет заменен («вытеснен») последним выбранным вариантом.

Флажки с принудительным выбором

Стиль кнопки (одиночный / множественный выбор)

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

Селектор в стиле кнопки

Этот стиль очень распространен, когда пользователя просят выбрать несколько тегов контента (хотя он может не знать об этом). В приведенном ниже примере Apple Music просит пользователей выбрать свои любимые жанры, которые, в свою очередь, порекомендуют песни и исполнителей в зависимости от выбора пользователя.

Выбор жанра Apple Music при регистрации. Изображение: https://www.businessinsider.com/apple-will-shut-down-beats-music-on-november-30-2015-11?IR=T

Переключатель (одиночный выбор)

Переключатель (toggle) чаще всего используется для настроек и позволяет пользователю выбирать между вариантами да / нет.

На мобильном устройстве сам переключатель обычно находится в крайнем правом положении, а метка – в крайнем левом. Это сделано для того, чтобы большому пальцу правой руки было легче менять параметры.

Пример переключателя

5. Состояния

Флажки и радиокнопки должны изменять свое состояние / внешний вид, чтобы пользователи знали, что они были выбраны. Нам нужно добавить эти маленькие визуальные подсказки, чтобы подтолкнуть пользователя в правильном направлении, используя паттерны, которые они уже знают и понимают.

По умолчанию / активно (Default/active)

Это начальное состояние селекторов. Это состояние указывает пользователю, что он может кликать по пунктам в вопросах.

Пример радиокнопок и флажков в их стандартном / активном состоянии

Неактивно (Inactive)

Когда установлено неактивное состояние, пользователь не сможет взаимодействовать с вариантами ответа. Пользователь редко сталкивается с этим состоянием, если это не указано в правилах продукта.

Пример радиокнопок и флажков в их неактивном состоянии

Наведение курсора (Hover)

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

Пример радиокнопок и флажков в состоянии наведения курсора

Совет для нубов: у сенсорных устройств нет состояния наведения курсора

Фокус / выделение (Focus/highlighted)

Фокус или выделенное состояние обычно обозначается синим ореолом вокруг активируемого кликом элемента. Вы можете убедиться в этом сами, щелкнув по интерфейсу. Пользователь редко сталкивается с этим состоянием, если только не нажмет «Enter», чтобы выбрать элемент.

Пример радиокнопок и флажков в их состоянии фокуса / выделения

Нажато (Pressed)

Это состояние, когда пользователь удерживает свою мышь / палец, и элемент указывает пользователю, что на него нажимают.

Пример радиокнопок и флажков в их нажатом состоянии

Выбрано (Selected)

После того, как пользователь щелкнул по элементу, интерфейс должен сообщить ему об этом. Как упоминалось ранее, радиокнопки могут иметь только один выбранный элемент, а флажки могут иметь несколько, в зависимости от бизнес-правил.

Пример радиокнопок и флажков в их выбранном состоянии

Ошибка обратной связи (Fail feedback)

При свободном вводе текста пользователь может сделать опечатку и т. д. Однако, поскольку параметры в селекторе предопределены, должен быть только один тип обратной связи при ошибке: «incomplete», который пользователь получит только, если нажмет кнопку «отправить» до того, как закончат заполнение формы. Для флажков это будет необходимо, только если вопрос заставит их выбрать один или несколько элементов.

Пример радиокнопок и флажков в состоянии ошибки

6. Правила для текста метки

Существует только одно жесткое правило для меток селектора: быть последовательным.

  1. Убедитесь, что регистр на каждой метке селектора одинаков (регистр предложений, регистр заголовков и т. д.)
  2. Убедитесь, что все элементы либо заканчиваются точкой, либо нет.
  3. Постарайтесь убедиться, что все элементы являются либо предложением, либо фразой, либо словом. Старайтесь избегать, чтобы часть вариантов была предложениями, а другая – отдельными словами. Использование комбинации усложняет решение вопроса о том, какой регистр и пунктуацию использовать.

Пример меток элементов

7. Когда вы должны их использовать

Когда следует использовать радиокнопки или флажки? Это целиком зависит от того, какой вопрос вы задаете. Если вы хотите, чтобы пользователи выбрали несколько вариантов ответа, используйте флажки. Если хотите, чтобы пользователи выбрали только один вариант, используйте радиокнопки (или другой тип селектора).

Когда использовать радиокнопки

У меня есть четыре правила, когда использовать радиокнопки. Вот они:

  1. Когда вы хотите, чтобы пользователь выбрал только один элемент
    Если вы хотите, чтобы пользователь выбрал более одного элемента, лучше использовать флажки.
  2. Если у вас меньше шести вариантов ответа
    В зависимости от ваших правил дизайна, если есть более пяти или шести элементов, используйте раскрывающийся список. Да, да, я знаю, что они неуклюжие, но они экономят много пространства вашего дизайна.

Сравнение раскрывающегося списка и радиокнопок

При этом, если пространство не является проблемой, возможно, стоит использовать радиокнопки – особенно, если вы проектируете для мобильных устройств. Я видела, что это идеально подходит для служб доставки еды.

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

  1. Вы хотите принудить выбрать один вариант ответа

Когда вы выбираете элемент в списке радиокнопок, вы не можете отменить его выбор. Вы можете выбрать что-то еще и изменить выбор, но вы не можете отменить ответ на вопрос, если уже выбрали его.

  1. Если у вопроса есть только два варианта: да / нет

Если ваш вопрос «Хотите получать уведомления?», «Воспроизвести фоновую музыку?» и т. д., то лучше используйте переключатель. Они занимают гораздо меньше места, являются более понятными, и поскольку это относительно новый тип селектора, они модные.

Сравнение радиокнопок и переключателя

Дополнение к статье после ее публикации:

5. Если хотите, чтобы пользователи нажимали «Сохранить» для применения выбранного варианта

Если вы находитесь на странице настроек или в месте, где вы хотите, чтобы пользователь мог экспериментировать с параметрами, прежде чем он нажмет большую зеленую кнопку «Сохранить»– лучше использовать радиокнопки (или флажки). Однако, если вы хотите, чтобы ваши настройки были применены немедленно (включение / выключение Wi-Fi), лучше используйте переключатель.

Этот вариант предложил Thomas Veit_, спасибо ему:)

_6. Если метки варианта ответа короткие, рассмотрите возможность использования переключателя с множественным выбором

Вы очень редко будете встречать этот вариант. Переключатели со множественным выбором соединяют в себе лучшее от радиокнопок и переключателей. Компактные, аккуратные и удобные. Я бы рекомендовал использовать их только в том случае, если метки ответов короткие – в противном случае это может стать неудобным на мобильных устройствах.

Пример переключателя с множественным выбором

Этот вариант предложил Thomas Weitz, спасибо ему.

Когда использовать флажки

У меня есть два правила, когда использовать флажки, и вот они:

  1. Если вы хотите, чтобы пользователь мог выбрать несколько вариантов или вообще не выбирать

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

  1. Один элемент

Тест: почему пункт «Я прочитал условия» всегда в виде флажка, а не радиокнопки? Ведь имеет смысл использовать радиокнопку, так как это лучший тип селектора для вопросов «да / нет»?

Ответ: потому что вы можете отменить его выбор. В отличие от радиокнопок только с одним элементом, где вы не можете отменить его. Если вы нажмете на него, он будет выбран НАВСЕГДА.

8. Проверка доступности

Вы сделали это! Вы завершили проектирование своих селекторов, и пришло время отправить их команде разработчиков. Но погодите! Вы проверили их доступность?

  1. Соответствует ли ваш селектор стандартам цветового контраста WCAG AAA? Вместо этого некоторые дизайнеры используют стандарты АА. Моя любимая программа проверки контрастности – WebAIM.
  2. Варианты ответа / элементы больше, чем 44px для сенсорных экранов? (Иногда используют 36px. )
  3. Расстояние между каждым вариантом ответа / элементом больше 8px?
  4. Всегда ли видна метка / вопрос?
  5. Есть ли в соответствующих полях полезный текст обратной связи? (Например, «Пожалуйста, заполните этот вопрос»)

Подробнее: https://webaim.org/techniques/forms/controls

9. Мысли в заключение

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

Берегите себя, ибо сейчас мир совсем обезумел.


Перевод статьи uxdesign.cc

Работа с полями ввода форм

Последнее обновление: 17.03.2021

Формы могут содержать различные элементы — текстовые поля, флажки, переключатели и т.д., обработка которых имеет свои особенности.

Обработка флажков

Флажки или чекбоксы (html-элемент <input type="checkbox"/>) могут находиться в двух состояниях: отмеченном (checked) и неотмеченном. Например:

Запомнить: <input type="checkbox" name="remember" checked="checked" />

Если флажок находится в неотмеченном состоянии, например:

Запомнить: <input type="checkbox" name="remember" />

то при отправке формы значение данного флажка не передается на сервер.

Если флажок отмечен, то при отправке на сервер для поля remember будет передано значение on:

$remember = $_POST["remember"];

Если нас не устраивает значение on, то с помощью атрибута value мы можем установить нужное нам значение:

Запомнить: <input type="checkbox" name="remember" value="1" />

Иногда необходимо создать набор чекбоксов, где можно выбрать несколько значений. Например:


<!DOCTYPE html>
<html>
<head>
<title>METANIT.COM</title>
<meta charset="utf-8" />
</head>
<body>
<?php
if(isset($_POST["technologies"])){
	
	$technologies = $_POST["technologies"];
	foreach($technologies as $item) echo "$item<br />";	
}
?>
<h4>Форма ввода данных</h4>
<form method="POST">
    <p>ASP. NET: <input type="checkbox" name="technologies[]" value="ASP.NET" /></p>
	<p>PHP: <input type="checkbox" name="technologies[]" value="PHP" /></p>
	<p>Node.js: <input type="checkbox" name="technologies[]" value="Node.js" /></p>
    <input type="submit" value="Отправить">
</form>
</body>
</html>

В этом случае значение атрибута name должно иметь квадратные скобки. И тогда после отправки сервер будет получать массив отмеченных значений:


$technologies = $_POST["technologies"];
foreach($technologies as $item) echo "$item<br />";

В данном случае переменная $technologies будет представлять массив, который можно перебрать и выполнять все другие операции с массивами.

Переключатели

Переключатели или радиокнопки позволяют сделать выбор между несколькими взаимоисключающими вариантами:


<!DOCTYPE html>
<html>
<head>
<title>METANIT. COM</title>
<meta charset="utf-8" />
</head>
<body>
<?php
if(isset($_POST["course"]))
{
    $course = $_POST["course"];
    echo $course;
}
?>
<h4>Форма ввода данных</h4>
<form method="POST">
    <input type="radio" name="course" value="ASP.NET" />ASP.NET <br>
	<input type="radio" name="course" value="PHP" />PHP <br>
	<input type="radio" name="course" value="Node.js" />Node.js <br>
    <input type="submit" value="Отправить">
</form>
</body>
</html>

На сервер передается значение атрибута value у выбранного переключателя. Получение переданного значения:


if(isset($_POST["course"]))
{
    $course = $_POST["course"];
    echo $course;
}

Список

Список представляет элемент select, который предоставляет выбор одного или нескольких элементов:


<!DOCTYPE html>
<html>
<head>
<title>METANIT. COM</title>
<meta charset="utf-8" />
</head>
<body>
<?php
if(isset($_POST["course"]))
{
    $course = $_POST["course"];
    echo $course;
}
?>
<h4>Форма ввода данных</h4>
<form method="POST">
    <select name="course" size="1">
		<option value="ASP.NET">ASP.NET</option>
		<option value="PHP">PHP</option>
		<option value="Ruby">RUBY</option>
		<option value="Python">Python</option>
	</select>
    <input type="submit" value="Отправить">
</form>
</body>
</html>

Элемент <select> содержит ряд вариантов выбора в виде элементов <option>:

Получить выбранный элемент в коде PHP как и обычное одиночное значение:


if(isset($_POST["course"]))
{
    $course = $_POST["course"];
    echo $course;
}

Но элемент <select> также позволяет сделать множественный выбор. И в этом случае обработка выбранных значений изменяется, так как сервер получает массив значений:


<!DOCTYPE html>
<html>
<head>
<title>METANIT.COM</title>
<meta charset="utf-8" />
</head>
<body>
<?php
if(isset($_POST["courses"]))
{
    $courses = $_POST["courses"];
    foreach($courses as $item) echo "$item<br>";
}
?>
<h4>Форма ввода данных</h4>
<form method="POST">
    <select name="courses[]" size="4" multiple="multiple">
		<option value="ASP.NET">ASP.NET</option>
		<option value="PHP">PHP</option>
		<option value="Ruby">RUBY</option>
		<option value="Python">Python</option>
	</select><br>
    <input type="submit" value="Отправить">
</form>
</body>
</html>

Такие списки имеют атрибут multiple="multiple". Для передачи массива также указываются в атрибуте name квадратные скобки: name="courses[]"

НазадСодержаниеВперед

Переключатель. Справка

Примечание. Справочник по настройке интерфейса описывает работу редактора HTML/JS/CSS. Вы также можете попробовать создать переключатель в Конструкторе шаблонов.

Чтобы вставить в задание переключатель, используйте компонент {{field type="radio" name="<название выходного поля>"}}. Например (переключатель из двух элементов):

{{field \n                    Описание\n                  

\n

Тип поля: radio — переключатель.\n

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="radio" \n Описание\n

\n

Атрибут для поля выходных данных. Содержит имя поля выходных данных.

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="result" \n Описание\n

\n

Подпись. Например:\n label=&#34;Да&#34;.

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="Да" \n Описание\n

\n

Передаваемое значение (записывается в файл с выходными\n данными).

\n

\n Значение по умолчанию\n

нет

"}}">="Yes" \n Описание\n

\n

Горячая клавиша для выбора значения.

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="1"}} {{field \n Описание\n

\n

Тип поля: radio — переключатель.\n

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="radio" \n Описание\n

\n

Атрибут для поля выходных данных. Содержит имя поля выходных данных.

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="result" \n Описание\n

\n

Подпись. Например:\n label=&#34;Да&#34;.

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="Нет" \n Описание\n

\n

Передаваемое значение (записывается в файл с выходными\n данными).

\n

\n Значение по умолчанию\n

нет

"}}">="No" \n Описание\n

\n

Горячая клавиша для выбора значения.

\n

\n Значение по умолчанию\n

\n

нет

\n "}}">="2"}}

В описании выходных данных добавьте поле с типом string. Например:

{
  "result": {
    "type": "string",
    "required": true
  }
}
Параметры

Параметр

Описание

Обязательный

Значение по умолчанию

Тип поля: radio — переключатель.

да

нет

Атрибут для поля выходных данных. Содержит имя поля выходных данных.

да

нет

Подпись. Например: label="Да".

нет

нет

Передаваемое значение (записывается в файл с выходными данными).

нет

нет
hotkey

Горячая клавиша для выбора значения.

нет

нет

validation-show

Расположение всплывающих подсказок (отображаются, если ответ не прошел валидацию). Расположение указывается относительно поля ввода.

Допустимые значения:

  • Над полем ввода: "top-left" (слева), "top-center" (посередине), "top-right" (справа).

  • Под полем ввода: "bottom-left" (слева), "bottom-center" (посередине), "bottom-right" (справа).

  • Слева от поля ввода: "left-top" (сверху), "left-center" (посередине), "left-bottom" (внизу).

  • Справа от поля ввода: "right-top" (сверху), "right-center" (посередине), "right-bottom" (внизу).

  • Не показывать сообщение ("false").

нет

"top-left"
checked

Состояние переключателя при отображении страницы:

нет

Размер поля.

Допустимые значения: "M", "L".

нет

Ширина поля. Указывается в следующих единицах:

Можно также задать ширину формулой. Например: width="calc(100%-30px)".

нет

зависит от длины подписи

CSS-класс для поля. Например: class="annotation".

нет

".field" ".field_type_radio"

Была ли статья полезна?

Переключатели (radiobutton) > О том, как правильно делать сайты! > LILIA-WEB.NAROD.RU

Переключатели (radiobutton) > О том, как правильно делать сайты! > LILIA-WEB. NAROD.RU
 
 

Переключатели (radiobutton)

Переключатели используют, когда необходимо выбрать один единственный вариант из предложенных. Если требуется выбор нескольких вариантов, для этого следует предпочесть флажки (checkbox).

Переключатели создаются следующим образом.

<input type=»radio» параметры>

Параметры поля перечислены в таблице.

Табл. 1. Параметры поля для отправки файла

ПараметрОписание
name Имя поля. Предназначено для того, чтобы обработчик формы мог идентифицировать это поле.
value Значение поля определяет, что будет отправлено на сервер.
checked Устанавливает элемент выбранный по умолчанию.

Имя поля (параметр name) для всех элементов группы должно быть одинаковым. Именно в этом случае браузер правильно помечает выбранные пункты (пример 1).

Пример 1. Использование переключателей
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN»>
<html>
<body>

<form action=»/cgi-bin/handler. cgi»>
<b>Как по вашему мнению расшифровывается аббревиатура «ОС»?</b><br>
<input type=»radio» name=»answer» value=»a1″>Офицерский состав<br>
<input type=»radio» name=»answer» value=»a2″>Операционная система<br>
<input type=»radio» name=»answer» value=»a3″>Большой полосатый мух
</form>

</body>
</html>

В результате получим следующее.

Как по вашему мнению расшифровывается аббревиатура «ОС»?
Офицерский состав
Операционная система
Большой полосатый мух

 
./../../../images/img_right.gif»/>

Хостинг от uCoz

Радиокнопка HTML

Эта страница содержит код для создания радиокнопки HTML. Он также содержит пояснения к переключателям. Не стесняйтесь копировать и вставлять код на свой собственный веб-сайт или в блог.

Вы создаете переключатель с тегом HTML . Вы добавляете type="radio" , чтобы указать, что это переключатель. Это связано с тем, что тег делает больше, чем просто создает переключатели. Он также позволяет вам создавать элементы управления вводом текста, кнопки отправки, флажки и многое другое.

Во всяком случае, вот код и немного информации о создании переключателя.

Базовая радиокнопка

В этом примере используется тег для создания простого переключателя. В коде мы используем type="radio" , чтобы установить элемент управления на переключатель.

Пример:

Красный
Синий
Зеленый

Вы заметите, что хотя все радиокнопки имели разные значения (т. е. в атрибуте значение ), все радиокнопки имели одно и то же имя (в пределах атрибута name ). Я объясню, как это работает в ближайшее время. А пока давайте посмотрим на несколько групп переключателей.

Группы переключателей

Вот две группы переключателей. Обратите внимание еще раз, что переключатели в каждой группе имеют одинаковое имя. Первая группа имеет имя «preferred_color», а вторая группа имеет имя «preferred_item».

Пример:

Предпочтительный цвет:

Красный
Синий
Зеленый

Предпочтительный элемент:

Автомобиль (последний Aston Martin!)
House (Особняк на набережной)
Кофемашина (ммм… но она действительно хороша…)

Важные замечания о переключателях:

  • Все переключатели в группе должны иметь одно и то же имя. То есть значение атрибута name должно быть одинаковым. Например, все три переключателя в группе «Предпочтительный цвет» имеют name="preferred_color" .
  • Все переключатели в группе должны иметь разные значения атрибута значение . Например, если один переключатель имеет value="red" , ни один из других в этой группе не должен иметь значение красного цвета, так как это противоречит цели наличия дополнительного переключателя.
  • «Ярлык» для каждого переключателя определяется текстом рядом с переключателем (а не атрибутом значение ). Атрибут value используется обработчиком формы.

Понимание переключателей

Когда вы впервые узнаете, как создать переключатель, вам может быть немного сложно понять, как работают атрибуты name и value . Вероятно, это связано с тем, что радиокнопки немного отличаются от большинства элементов формы. Я объясню.

Вся цель радиокнопки состоит в том, чтобы позволить пользователю сделать один выбор — и только один — из списка. Если бы вы хотели, чтобы пользователь сделал несколько вариантов выбора, вы бы не использовали переключатель — вы использовали бы флажок.

В любом случае, поскольку пользователь может сделать только один выбор из нашей группы переключателей, все переключатели в этой группе должны иметь одно и то же имя. Вот как мы группируем список — все они имеют одно и то же имя. Это сообщает обработчику формы имя группы и значение выбранного переключателя.

Например, если вы хотите, чтобы пользователи могли выбирать между группой цветов, вы должны создать радиокнопку для каждого цвета. Вы должны дать всем переключателям одно и то же имя (например, «preferred_color»), но присвоить каждому переключателю другое значение (например, «красный»).

Допустим, пользователь отправляет форму, которая отправляет электронное письмо веб-мастеру. Пользователь выбирает предпочтительный цвет из переключателя и нажимает кнопку отправки. Веб-мастер может получить электронное письмо следующего вида:

Пользователь выбрал предпочитаемый цвет в вашей веб-форме. Вот результат:

Preferred_color: Red

Я уверен, что вы могли бы придумать что-то получше, чем просто спрашивать любимый цвет ваших пользователей, но, надеюсь, вы поняли идею! В этом случае обработчик формы (то есть сценарий на стороне сервера) обработал форму и отправил по электронной почте имя группы (Preferred_color) и выбранное значение (красный).

HTML — GeeksforGeeks

Просмотреть обсуждение

Улучшить статью

Сохранить статью

  • Уровень сложности: Базовый
  • Последнее обновление: 15 дек, 2021

  • Читать
  • Обсудить
  • Посмотреть обсуждение

    Улучшить статью

    Сохранить статью

    HTML используется для определения переключателя. Радиокнопки позволяют пользователю выбрать только один вариант из списка предопределенных параметров. Элементы управления вводом Radio Button создаются с использованием элемента «input» с атрибутом type, имеющим значение «radio».

    Синтаксис:

      

    Пример: В этом примере мы просто выбираем правильный вариант из заданных вариантов с помощью переключателя.

    HTML

    < html >

       

    < body >

       

    < H3 > Добро пожаловать в Geeksforgeeks H3 >

    < P > SELECT.

    < Div >

    < Вход Тип = < 0005 "radio" id = "Netflix" name = "brand" value = "Netflix" >

         < label для = "Netflix" > Netflix Метка >

    Div >

    .0006  

       < div >

         < input type = "radio" id = "Audi" name = "Бренд" Значение = "Audi" >

    < Метка для = 9000 "Audi"0006 >Audi label >

       div >

       

       < div >

         < Вход Тип = "Радио" ID = "Microsoft" Имя = "Бренд" Значение = "Microsoft" Проверено>

    < Метка для = "Microsoft" > Microsoft 9966966> 6963 6 3 6963 6 3 666966 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 6 3 69669 3 69669 3 69669> Div >

    Body >

    0005 HTML >

    Вывод:

    <Входной тип = »Радио»>

    Пример: . Этот пример объясняет, что ввод html ввода на кнопку. как правда.

    HTML

    < html >

       

    < head >

         < title > HTML input type radio title >

         < style >

         body {

             text-align: center;

         }

           

         h2 {

             цвет: зеленый;

    }

    .

         < h2 >

             GeeksforGeeks

         h2 >

         < h3 >

             HTML < Input type = " радио" >

       h3

         0 Кнопка радио0134      < input type = "radio"  

                checked = true  

                id = "radioID"  

    Значение = "Geeks_radio"

    Имя = "Geek_radio"

    body >

       

    html >

    Output:

    Поддерживаемые браузеры:  

    • Google Chrome
    • Internet Explorer
    • Firefox
    • Safari
    • Opera
    • Microsoft Edge 12 и выше

    Следующий

    Метод Node. js Stream transform.destroy()

    Рекомендуемые статьи

    Страница :

    Переключатель в HTML — Темы масштабирования

    Обзор

    несколько вариантов, в которых можно выбрать только один, например, выбор пола или простой вопрос «да или нет». Эти параметры создаются с помощью переключателей в HTML.

    Объем

    • В этой статье рассказывается о Радиокнопки в HTML с примерами.
    • В этой статье вы узнаете, как добавлять радиокнопки в HTML-формы.
    • В этой статье объясняются различные атрибуты радиокнопок.
    • После прочтения этой статьи вы узнаете разницу между переключателями и флажками.

    Введение

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

    Как и в приведенном выше примере, переключатель используется, чтобы спросить пользователя о способах оплаты. Радиокнопка обычно отображается в виде маленького круга со сплошным кругом внутри него при выборе.

    Что такое переключатель в HTML?

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

    Синтаксис

     
     XYZ
     

    Чтобы добавить переключатели на веб-страницу, мы используем элемент с атрибутом type, установленным на «радио» . Но это создаст довольно простой переключатель. Таким образом, мы используем различные атрибуты Radio, представленные нам.

    Как показано в приведенном ниже примере, мы использовали атрибут имени для группировки кнопок, чтобы можно было выбрать только одну опцию, без атрибута имени мы не можем сгруппировать разные кнопки вместе, поэтому пользователь сможет выбрать более один вариант. Атрибут value используется для отправки значения выбранной опции на сервер.

    ПРИМЕР

     
     
    
     <тело>
        ФИЗИКА
        ХИМИЯ
        MATHS
     
    
     

    Выход

    Атрибуты для радиокнопки

    С глобальными атрибутами, которые используются с элементом , радиовходы также поддерживают следующие атрибуты.

    Атрибут Описание
    Тип Указывает тип ввода. Добавляется для создания определяемой пользователем кнопки. В этом случае тип входа устанавливается как «Радио».
    Имя Указывает имя входных элементов. Различные переключатели с одинаковыми именами группируются вместе.
    Значение Отправляет значение выбранного параметра на сервер.
    Отмечено Используется для выбора опции по умолчанию, если пользователь ничего не выбрал.

    Примеры

    Пример 1. Отмеченная радиокнопка

    Если из группы опций необходимо выбрать хотя бы одну опцию, в этом случае мы используем атрибут checked, чтобы установить опцию в качестве значения по умолчанию.

    Например, в приведенном ниже примере мы должны выбрать хотя бы одно направление, а параметр 1, то есть направление на север, установлен по умолчанию.

    Пример

     
     
     <тело>
     <форма>
     

    Пожалуйста, выберите вариант!

    СЕВЕР ЮГ ВОСТОЧНЫЙ ЗАПАД

    Как мы видим, вариант 1, т. е. СЕВЕР, выбран по умолчанию.

    Выход

    ПРИМЕЧАНИЕ - Когда вы устанавливаете несколько параметров по умолчанию, последний из них переопределяет предыдущий в коде, поскольку вы можете установить только один параметр как по умолчанию .

    Пример 2. Отключенная радиокнопка

    Мы можем отключить радиокнопку, используя свойство disabled HTML DOM. Неактивная кнопка не нажимается и не отвечает. Отключенная радиокнопка визуализируется серый цвет в браузере. Атрибут disabled использует логические значения, чтобы решить, должна ли кнопка быть отключена или нет (disabled=true|false) true означает, что кнопка отключена, а false означает, что она не отключена. По умолчанию для параметра disabled установлено значение false. Для этого мы будем использовать javascript. Код Javascript заключен внутри тегов script.

    Пример

     
     
    <тело>
     

    Переключатель отключен

    <форма> Направление: СЕВЕР

    Мы можем отключить вышеуказанный переключатель, нажав кнопку ОТКЛЮЧИТЬ

    <скрипт> функция disable_button() { document. getElementById("СЕВЕР").disabled=true; document.getElementById("пример").innerHTML = "Кнопка сейчас отключена" ; }

    Выход

    После нажатия на кнопку.

    В приведенном выше примере мы сначала создали кнопку «направление», после чего мы создали кнопку DISABLE, которая отключит кнопку, вызвав метод disable_button().

     
     <тип кнопки=”кнопка”
    onclick="disable_button()">ОТКЛЮЧИТЬ
     

    Затем метод disable_button() установит для свойства disabled значение true, обратившись к переключателю «Направления» с помощью метода getElementById(), как показано ниже.

     
     функция disable_button() {
       document.getElementById("СЕВЕР").disabled=true;
       document.getElementById("пример").innerHTML = "Кнопка сейчас отключена" ;
    }
     

    Пример 3: Группы радиокнопок

    Мы делаем группы радиокнопок, чтобы из имеющихся вариантов можно было выбрать только один. Мы можем поместить разные переключатели в группу, используя атрибут имени. Все кнопки в группе должны иметь одинаковый атрибут имени.

    Пример

     
     
    <тело>
     

    Сгруппированные переключатели

    <форма>

    Выберите направление:




    Выход

    В приведенном выше примере мы сгруппировали все четыре параметра в одну группу, сохранив одинаковый атрибут имени. Из четырех вариантов в приведенном выше примере можно выбрать только один.

    Пример 4: Стиль радиокнопок

    Использование стиля радиокнопок по умолчанию имеет несколько недостатков, например, разные браузеры по-разному отображают радиокнопки по умолчанию. Мы можем решить эту проблему, создав собственные переключатели с помощью CSS.

    Шаги для создания пользовательских переключателей:

    a) Базовый HTML

    Это базовый код HTML для нашего переключателя, мы добавим CSS для его дальнейшего оформления.

     
      

    Переключатели по умолчанию

    <метка>СЕВЕР <промежуток> <метка>ЮГ <промежуток> <метка>ВОСТОК <промежуток> <метка>ЗАПАД <промежуток>

    Выход

    b) Настройка контейнера радиокнопок

    Здесь мы определяем размер шрифта, выравнивание текста, положение и т. д. для радиокнопок, как показано ниже.

     
     .пользовательский {
      положение: родственник;
      отступ слева: 34px;
      нижняя граница: 12px;
      размер шрифта: 23px;
    }
     

    c) Скрыть исходную радиокнопку

    Мы должны скрыть исходную радиокнопку, но сохранить ее технически доступной. Мы можем сделать это, просто установив для атрибута внешнего вида значение none.

     
     .пользовательский ввод {
      внешний вид: нет;
    }
     

    d) Пользовательский стиль радиокнопок

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

     
     .галочка {
      положение: абсолютное;
      сверху: 0;
      слева: 0;
      высота: 24 пикселя;
      ширина: 25 пикселей;
      цвет фона: #eee;
      радиус границы: 50%;
    }
    
    .custom: ввод при наведении ~ .checkmark {
      цвет фона: #ccc;
    }
    
     

    e) Состояние «Отмечено»

    В этом разделе мы стилизуем радиоблок для состояния «Отмечено».

     
     /* Когда переключатель установлен, добавить серый фон */
    .пользовательский ввод: отмечен ~ .checkmark {
      цвет фона: серый;
    }
    
    /* Создаем индикатор */
    .checkmark: после {
      содержание: "";
      положение: абсолютное;
      дисплей: нет;
    }
    
    /* Показывать индикатор при отмеченном флажке */
    . пользовательский ввод: отмечен ~ .checkmark: после {
      дисплей: блок;
    }
    
    /* Стиль индикатора */
    .custom .checkmark: после {
     верх: 7 пикселей;
    слева: 7 пикселей;
    ширина: 11 пикселей;
    высота: 11 пикселей;
    радиус границы: 40%;
    фон: белый;
    }
     

    f) Собираем все вместе

    После объединения базового кода HTML с CSS мы получим следующий результат.

     
    
    <стиль>
    .обычай {
      положение: родственник;
      отступ слева: 34px;
      нижняя граница: 12px;
      размер шрифта: 23px;
    }
    .пользовательский ввод {
      внешний вид: нет;
    }
    .галочка {
      положение: абсолютное;
      сверху: 0;
      слева: 0;
      высота: 24 пикселя;
      ширина: 25 пикселей;
      цвет фона: #eee;
      радиус границы: 50%;
    }
    
    .custom: ввод при наведении ~ .checkmark {
      цвет фона: #ccc;
    }
    .пользовательский ввод: отмечен ~ .checkmark {
      цвет фона: серый;
    }
    .checkmark: после {
      содержание: "";
      положение: абсолютное;
      дисплей: нет;
    }
    .пользовательский ввод: отмечен ~ .checkmark: после {
      дисплей: блок;
    }
    . custom .checkmark: после {
     верх: 7 пикселей;
    слева: 7 пикселей;
    ширина: 11 пикселей;
    высота: 11 пикселей;
    радиус границы: 40%;
    фон: белый;
    }
    
        
    <тело>
     

    Пользовательские переключатели

    <метка>СЕВЕР <промежуток> <метка>ЮГ <промежуток> <метка>ВОСТОК <промежуток> <метка>ЗАПАД <промежуток>

    Выход

    Как добавить радиокнопки в форму с помощью HTML?

    Мы можем добавить переключатели в нашу HTML-форму, используя элемент ввода с типом радио, ниже приведены несколько шагов, которые мы можем выполнить:

    Шаг 1 : Используйте элемент с типом, указанным как радио. например:

     
     КРАСНЫЙ
    СИНИЙ
    ЗЕЛЕНЫЙ
     

    Выход

    Прямо сейчас мы можем выбрать более одного параметра в качестве наших кнопок, потому что они не сгруппированы вместе, поэтому, чтобы избежать этого, мы можем использовать атрибут «имя».

    Шаг 2 : Используя атрибут имени, сгруппируйте кнопки так, чтобы можно было выбрать только один вариант. Например:

     
     КРАСНЫЙ
    СИНИЙ
    ЗЕЛЕНЫЙ
     

    Выход

    Шаг 3: Используйте атрибут value, чтобы указать значение параметра, который должен быть отправлен на сервер. Например:

     
     КРАСНЫЙ
    СИНИЙ
    ЗЕЛЕНЫЙ
     

    Теперь наша радиокнопка готова и может использоваться в формах.

    Радиокнопки против флажков

    Пока оба Радиокнопки и флажки используются для ввода данных пользователем, они сильно отличаются друг от друга.

    Некоторые отличия перечислены ниже:

    Радиокнопки Флажки
    Радиокнопки используются, когда доступно несколько вариантов, но мы хотим, чтобы пользователь выбрал только один из них. Флажки используются, когда пользователь может выбрать один, несколько или ни одного из доступных вариантов.
    Все опции взаимоисключающие. Это означает, что нажатие на невыбранный параметр автоматически отменяет выбор параметра, который был выбран ранее. Все опции не зависят друг от друга. В этом случае мы можем выбрать столько параметров, сколько захотим, он не отменяет выбор ранее выбранных параметров.
    При выборе радиокнопка должна быть представлена ​​в виде маленького круга со сплошным кругом внутри. Флажок должен быть представлен в виде квадратного поля с галочкой при выборе.
    Радиокнопки создаются с использованием тега в HTML с радио в качестве атрибута типа. Флажки создаются с помощью тега в HTML с атрибутом type в качестве флажка.
    Радиокнопки в HTML используются в меню типа "Выберите один". Флажки используются в меню или вопросах типа «Выберите все подходящие варианты».

    Важные замечания о радиокнопках

    • Радиокнопки следует использовать, когда мы хотим, чтобы пользователь выбирал из нескольких вариантов, кроме можно выбрать только одну опцию .
    • Вы всегда должны добавлять тег метки для большей кликабельности.
    • Флажки и радиокнопки похожи, но в радиокнопке мы можем выбрать только одну опцию, тогда как в флажках мы можем выбрать несколько значений .
    • Если в группе переключателей не выбран ни один параметр, данные формы не включают эту группу переключателей.

    Поддерживаемые браузеры

    Хром IE Opera Safari Firefox
    YES YES YES YES YES

    Summary

    • Radio buttons are used to collect user information . Они используются, когда из множества доступных пользователям вариантов можно выбрать только один.
    • Отмеченная радиокнопка, Отключенная радиокнопка и сгруппированная радиокнопка — вот несколько примеров радиокнопок.
    • В проверенном переключателе мы устанавливаем параметр как значение по умолчанию, если параметр не выбран с использованием проверенного атрибута. В отключенном переключателе мы делаем параметр невосприимчивым, используя отключенный атрибут, а в сгруппированном переключателе мы группируем несколько параметров вместе, устанавливая одинаковый атрибут имени, чтобы можно было выбрать только один параметр в группе.
    • Помимо общих входных атрибутов, переключатели имеют дополнительные атрибуты, такие как Тип, Имя, Значение и Отмечено.
    • Мы можем добавить радиокнопки в нашу HTML-форму, используя элемент ввода с типом радио.
    • Хотя и радиокнопки, и флажки используются для ввода данных пользователем, они сильно отличаются друг от друга. Например, в случае радиокнопок можно выбрать только один вариант , но когда мы используем флажки, мы можем выбрать столько вариантов , сколько захотим.

    элемент ввода (тип=радио)

    Если вы не знаете, что такое элемент или как его использовать, я рекомендую вам прочитать " Теги и атрибуты HTML », которое можно найти в разделе руководств HTML .

    Содержание

    • 01Описание
    • 02Примеры
    • 03Атрибуты
      • Специальные атрибуты
      • Глобальные атрибуты
    • 04События
      • Глобальные события

    Описание

    Элемент input , имеющий значение "радио" в атрибуте типа , представляет опцию, принадлежащую группе, в которой одновременно может быть выбрано не более одной опции. Эти группы обычно соответствуют нескольким переключателям, все из которых имеют одно и то же значение в атрибуте name .

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

    Чтобы набор переключателей принадлежал одной группе, все они должны иметь одинаковое значение в атрибуте name .

    Все радиокнопки в группе должны находиться в одном документе и принадлежать одной форме или вообще не принадлежать ни одной из форм. Размещение переключателей в разных формах или документах нарушит их группировку.

    Примеры

    В нашем первом примере показан список основных опций, в котором пользователь может отметить только одну опцию. Чтобы это произошло, все переключатели в списке используют одно и то же значение в атрибутах name .

     
      <р>
        Текущее место работы:
    Полная занятость
    Неполный рабочий день
    Не работает

    Как вы могли заметить в предыдущем примере, текст рядом с каждым переключателем не реагирует на клики, как можно было бы ожидать. В следующем примере мы решим эту проблему, преобразовав этот обычный текст в метку для кнопки.

    Для этого мы обернем текст и соответствующий ввод элементом label . Таким образом, мы свяжем радиокнопку со всем остальным внутри метки .

     
      <р>
        Текущее место работы:


    В нашем третьем примере мы используем проверенный атрибут , чтобы указать браузеру, что он должен отметить переключатель как проверенный при загрузке страницы и при сбросе формы.

     
      <р>
        Выберите курс:


    <р>

    Наконец, мы попробуем обязательный атрибут . Когда этот логический атрибут присутствует в любой из переключателей определенной группы, браузер не разрешит отправку формы, пока не будет проверена одна из кнопок в группе.

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

     
      <р>
        Выберите область для работы:


    <р>

    Атрибуты

    Особые атрибуты

    автофокус

    Логическое значение, указывающее браузеру установить фокус на этот элемент управления после завершения загрузки документа или при отображении диалогового окна , в котором находится элемент управления. Если атрибут имеет значение "автофокус" или пустую строку (""), или если он просто присутствует, элемент управления должен получить фокус как можно скорее, после страницы или диалог загружен.

    Пример

     

    проверено

    Логическое значение, указывающее, следует ли проверять элемент управления по умолчанию, то есть при загрузке страницы или при сбросе формы. Если атрибут принимает значение «checked» или пустую строку («»), или если он просто присутствует, элемент управления будет проверен по умолчанию.

    Пример

     
      <р>
        Пол:

    <р>

    Пол:
    Мужской
    Женский

    инвалид

    Логическое значение, указывающее, отключен элемент управления или нет. Если атрибут принимает значение "отключено" или пустую строку (""), или если он просто присутствует, элемент управления будет отключен.

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

    Пример

     
      <р>
        Выберите цвет для своего профиля:


    <р>

    форма

    Значение атрибута id формы, с которой связан данный элемент управления.

    Этот атрибут является новым в HTML 5 и помогает определить релевантность элементов управления во вложенных или удаленных формах.

    Все радиокнопки в группе должны принадлежать одной форме или вообще не принадлежать ни одной форме. Размещение переключателей в разных формах или документах нарушит их группировку.

    Пример

     

    Доход:

    Доход:
    Менее 10 000 долларов США
    Более 10 000 долларов США

    название

    Имя элемента управления. Это имя будет отправлено браузером агенту обработки вместе с содержимым атрибута value . Оба атрибута вместе будут соответствовать паре имя-значение, которая будет использоваться для обработки данных формы.

    В настоящее время значение является индексом , ранее использовавшимся особым образом некоторыми браузерами и включенным в стандарта HTML , не допускается в этом атрибуте.

    Чтобы набор переключателей принадлежал одной группе, все они должны иметь одинаковое значение в атрибуте name .

    Пример

     
      <р>
        Работает как:

    требуется

    Логическое значение, указывающее, может ли пользователь не выбирать все параметры в группе. Если этот атрибут имеет значение «обязательный» или пустую строку («»), или если он просто присутствует, пользователь должен будет выбрать параметр в группе, чтобы иметь возможность отправить форму .

    Если этот логический атрибут присутствует в любой из переключателей определенной группы, браузер не разрешит отправку формы, пока не будет проверена одна из кнопок в группе.

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

    Пример

     
      <р>
        Путешествовать по:

    <р>

    тип

    Значение, указывающее тип поля, которое представляет этот элемент. Возможны двадцать два значения (без учета регистра):

    .
    • hidden: скрытый элемент управления, используемый для отправки информации на сервер, обычно управляемый сценариями.
    • текст: элемент управления, используемый для ввода однострочного фрагмента текста.
    • поиск: то же, что и текст, но для целей поиска.
    • тел: элемент управления, используемый для предоставления номера телефона.
    • URL-адрес
    • : текстовое поле, используемое для ввода единственного и абсолютного URL-адреса .
    • Электронная почта
    • : элемент управления, предназначенный для редактирования одного или нескольких адресов электронной почты.
    • пароль: текстовое поле для редактирования паролей, где символы представлены точками.
    • дата: элемент управления для ввода конкретной даты.
    • месяц: элемент управления для ввода определенного месяца.
    • неделя: элемент управления для ввода конкретной недели.
    • время: элемент управления для ввода определенного времени.
    • datetime-local: элемент управления для ввода конкретной локальной даты и времени.
    • число: элемент управления для ввода числа.
    • диапазон: элемент управления для ввода одного или двух чисел внутри диапазона.
    • цвет: элемент управления для ввода цвета.
    • флажок: элемент управления для ввода логического значения (истина/ложь).
    • Радио
    • : элемент управления, используемый для выбора одного варианта из многих.
    • Файл
    • : элемент управления, используемый для загрузки файлов на сервер.
    • submit: кнопка, используемая для отправки формы.
    • Изображение
    • : то же, что и submit, но с возможностью отображения в виде изображения вместо использования внешнего вида кнопки по умолчанию.
    • сброс: кнопка, используемая для сброса элементов управления формы к их значениям по умолчанию.
    • 9Кнопка 0043: кнопка, не связанная с действием по умолчанию.

    Если этот атрибут отсутствует, элемент ведет себя так, как если бы он имел значение "текст".

    Пример

     <тип ввода = "радио" имя = "дети" значение = "более 5">
     
    значение

    Значение для элемента управления, которое будет передано агенту обработки в паре со значением атрибута имени , только если переключатель был отмечен.

    Пример

     
      <р>
        Способ отправки:

    Глобальные атрибуты

    Для получения информации о глобальных атрибутах см. этот список глобальных атрибутов в HTML 5.

    События

    Глобальные события

    Для получения информации о глобальных событиях см. этот список глобальных событий в HTML 5.

    Радиокнопки | Система веб-дизайна США (USWDS)

    Компоненты

    Радиокнопки позволяют пользователям выбирать ровно один вариант из группы.

    О компоненте переключателей

    По умолчанию

    Выберите один исторический показатель

    Соджорнер Истина

    Фредерик Дуглас

    Букер Т. Вашингтон

    Джордж Вашингтон Карвер

    Плитка

    Выберите одну историческую личность

    Соджорнер Истина

    Фредерик Дуглас Это необязательный текст, который можно использовать для более подробного описания метки. деталь.

    Букер Т. Вашингтон

    Джордж Вашингтон Карвер

      

    По умолчанию

    <набор полей> Выберите одну историческую фигуру <дел> <ввод тип = "радио" имя = "исторические цифры" значение = "пребывание-правда" проверено = "проверено" />
    <дел> <ввод тип = "радио" имя = "исторические цифры" value="Фредерик-Дуглас" />
    <дел> <ввод тип = "радио" имя = "исторические цифры" value="booker-t-Вашингтон" />
    <дел> <ввод тип = "радио" имя = "исторические цифры" value="Джордж-Вашингтон-резчик" отключено = "отключено" />