html - todas - read only css
¿Cuál es la sintaxis de atributo de solo lectura para elementos de texto de entrada? (3)
Sé sobre el atributo de readonly
para el text input
, pero al leer código de otros sitios (un desagradable hábito 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 ahora no puedo recordar la sintaxis exacta ...
Entonces, ¿cuál es el correcto que debería usar?
De w3 :
readonly = "readonly" or "" (cadena vacía) o empty - Especifica que el elemento representa un control cuyo valor no debe editarse.
Entonces, básicamente, es lo mismo.
debe ser
<input type="text" value="myvalue" class="class anotherclass" readonly="readonly" />
Especificación de 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 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 invá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 falso :
<input type="text"/>
Recomendación
Si le importa escribir XHTML válido, use readonly="readonly"
, ya que <input readonly>
no es válido y otras alternativas son menos legibles. De lo contrario, simplemente use <input readonly>
ya que es más corto.