Подтвердить что ты не робот

Флажок ввода true или отмечен или да

Я видел три варианта предварительного выбора флажка. Я начал использовать checked = "checked", потому что я думал, что это был "правильный" способ (никогда не понравился "checked" = "yes" ). Я думаю об изменении на checked = "true", поскольку он кажется более читаемым и легче кодировать JavaScript. Обратите внимание, что этот же вопрос относится и к другим атрибутам, таким как "disabled" = "disabled" и "disabled" = "true". Насколько я согласен, использует "истинный" предпочтительный подход? Спасибо вам

<input type="checkbox" checked="checked" value="123" name="howdy" />
<input type="checkbox" checked="true"    value="123" name="howdy" />
<input type="checkbox" checked="yes"     value="123" name="howdy" />
4b9b3361

Ответ 1

Действительны только checked и checked="checked". Другие параметры зависят от восстановления ошибок в браузерах.

checked="yes" и checked="true" являются особенно плохими, поскольку они подразумевают, что checked="no" и checked="false" будут устанавливать состояние по умолчанию, которое будет отменено... что они не будут.

Ответ 2

В соответствии с W3C проверенный входной атрибут может отсутствовать или пронумерован или "проверен" как его значение. Это не приводит к недействительности других значений, поскольку для реализации браузера не существует ограничений, позволяющих использовать такие значения, как "true", "on", "yes" и т.д. Чтобы гарантировать, что вы будете писать кросс-браузерный флажок/радио, используйте checked = "checked", как рекомендовано W3C.

отключены, атрибуты ввода readonly и ismap идут одинаково.

EDITED

empty не является допустимым значением для атрибутов checked, disabled, readonly и ismap, как предупреждал @Quentin