У меня есть это:
<input type="radio" name="sex" required /> Masculine
<input type="radio" name="sex" required /> Faminine
но если я проверю один из них, и, поскольку они оба необходимы, я буду предупрежден, что другой должен также быть проверен. Но как мне сделать так, чтобы проверять только один из них?
как это
<form>
<input type="radio" name="sex" required /> Masculine <br />
<input type="radio" name="sex" required /> Faminine
</form>
Ваш код работает как есть в любом браузере, который в первую очередь поддерживает required
атрибут. (Что касается этого атрибута, в коде есть другие проблемы, например, отсутствие атрибутов value
).
Для переключателя required
атрибут определяется особым образом: "атрибут выполняется, если выбран какой-либо из переключателей в группе". Таким образом, было бы достаточно использовать этот атрибут в одном из переключателей группы. Тем не менее, HTML5 CR добавляет: "Чтобы избежать путаницы в отношении того, требуется ли группа переключателей или нет, авторам рекомендуется указывать атрибут на всех переключателях в группе". Но это касается только предполагаемой читаемости HTML-кода, а не его функциональности.
В этом контексте HTML5 CR также представляет следующее замечание, которое на самом деле довольно несвязано, но является хорошим принципом: "авторам рекомендуется избегать наличия групп переключателей, которые не имеют первоначально контролируемых элементов управления, в первую очередь, поскольку это состояние что пользователь не может вернуться, и поэтому обычно считается плохим пользовательским интерфейсом ". Если вы добавите в группу радиокнигу со значением, как "Не хочет говорить" и сделайте его изначально отмеченным, required
атрибут становится ненужным. Если вы хотите заставить пользователя разглашать его или ее пол, вам придется делать чек по-другому.