¿Cuál es la sintaxis correcta del atributo readonly para los elementos de texto de entrada?
Sé sobre el atributo readonly
para text input
, Pero mientras leía código de otros sitios (un hábito desagradable mío ) vi más de una implementación para él :
<input type="text" value="myvalue" class="class anotherclass" readonly >
Y
<input type="text" value="myvalue" class="class anotherclass" readonly="readonly" >
E incluso he visto
<input type="text" value="myvalue" class="class anotherclass" readonly="true" >
..Y creo que vi aún más, pero no puedo recordar la sintaxis exacta ahora ..
Entonces, ¿cuál es el correcto que debo usar ?
3 answers
De w3:
readonly = "readonly" o "" (cadena vacía) o vacío - Especifica que el elemento representa un control cuyo valor no está destinado a ser editado.
Así que básicamente es lo mismo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-09 07:31:12
Especificación HTML5 :
Http://www.w3.org/TR/html5/forms.html#attr-input-readonly :
El atributo readonly es un atributo booleano
Http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
La presencia de un atributo booleano en un elemento representa el valor verdadero, y la ausencia del atributo representa el valor falso.
Si el atributo está presente, su valor debe puede ser la cadena vacía o un valor que es una coincidencia ASCII insensible a mayúsculas y minúsculas para el nombre canónico del atributo, sin espacios en blanco iniciales o finales.
Conclusión:
Los siguientes son válidos, equivalentes y verdaderos :
<input type="text" readonly />
<input type="text" readonly="" />
<input type="text" readonly="readonly" />
<input type="text" readonly="ReAdOnLy" />
Los siguientes son no válidos :
<input type="text" readonly="0" />
<input type="text" readonly="1" />
<input type="text" readonly="false" />
<input type="text" readonly="true" />
La ausencia del atributo es la única sintaxis válida para false:
<input type="text"/>
Recomendación
Si te importa escribir valid XHTML, use readonly="readonly"
, ya que <input readonly>
no es válido y otras alternativas son menos legibles. De lo contrario, solo use <input readonly>
ya que es más corto.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-14 07:20:55
Debe ser
<input type="text" value="myvalue" class="class anotherclass" readonly="readonly" />
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-09 13:01:39