HTML5: как использовать атрибут" required "с полем ввода" radio
Мне просто интересно, как правильно использовать новый входной атрибут HTML5 "required" на радиокнопках. Каждое поле radiobutton нуждается в атрибуте, как показано ниже? Или достаточно, если только одно поле получает его?
<input type="radio" name="color" value="black" required="required" />
<input type="radio" name="color" value="white" required="required" />
4 ответов:
установить
requiredатрибут по крайней мере для одного входа радиогруппы.
задание
requiredдля всех входов более ясно, но не обязательно (если только динамически генерирующие радиокнопки).для группирования переключателей они все должны иметь одинаковые
nameзначение. Это позволяет выбрать только один за раз и применяетсяrequiredдля всей группы.<form> Select Gender: <label><input type="radio" name="gender" value="male" required>Male</label> <label><input type="radio" name="gender" value="female">Female</label> <input type="submit"> </form>Также обратите внимание:
чтобы избежать путаницы относительно того, требуется ли группа переключателей или нет, авторам рекомендуется указать атрибут на всех переключателях в группе. Действительно, в целом авторам рекомендуется избегать наличия групп переключателей, которые не имеют каких-либо изначально проверенных элементов управления, поскольку это состояние, в которое пользователь не может вернуться, и поэтому обычно считается плохим пользовательским интерфейсом.
попробуйте это...
<form> <input type="radio" name="color" value="black" required /> <input type="radio" name="color" value="white" /> <input type="submit" value="Click Here" /> </form>
Если ваши переключатели были настроены, например, оригинальный значок для переключателя был скрыт с помощью css
display:noneТак что вы можете создать свой собственный переключатель, то вы можете получить ошибку.способ исправить это-заменить
display:noneсopacity:0
вот очень простая, но современная реализация необходимых радиокнопок с собственной проверкой HTML5:
body {font-size: 15px; font-family: serif;} input { background: transparent; border-radius: 0px; border: 1px solid black; padding: 5px; box-shadow: none!important; font-size: 15px; font-family: serif; } input[type="submit"] {padding: 5px 10px; margin-top: 5px;} label {display: block; padding: 0 0 5px 0;} form > div {margin-bottom: 1em; overflow: auto;} .hidden { opacity: 0; position: absolute; pointer-events: none; } .checkboxes label {display: block; float: left;} input[type="radio"] + span { display: block; border: 1px solid black; border-left: 0; padding: 5px 10px; } label:first-child input[type="radio"] + span {border-left: 1px solid black;} input[type="radio"]:checked + span {background: silver;}<form> <div> <label for="name">Name (optional)</label> <input id="name" type="text" name="name"> </div> <label>Gender</label> <div class="checkboxes"> <label><input id="male" type="radio" name="gender" value="male" class="hidden" required><span>Male</span></label> <label><input id="female" type="radio" name="gender" value="male" class="hidden" required><span>Female </span></label> <label><input id="other" type="radio" name="gender" value="male" class="hidden" required><span>Other</span></label> </div> <input type="submit" value="Send" /> </form>хотя я большой поклонник минималистичного подхода к использованию собственной проверки HTML5, вы можете заменить его проверкой Javascript в долгосрочной перспективе. Проверка Javascript дает вам гораздо больше контроля над процессом проверки и позволяет вам устанавливать реальные классы (вместо псевдоклассов) для улучшения стиль допустимых полей (in). Эта собственная проверка HTML5 может быть вашим резервным вариантом в случае сломанного (или отсутствия) Javascript. Вы можете найти пример этого здесь, вместе с некоторыми другими предложениями о том, как сделать лучше формы, вдохновленная Эндрю Коул.
Comments