Флажок ввода 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" />
Ответы
Ответ 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