¿Cuál es el valor correcto para el atributo disabled?


¿Cuál es el valor correcto para el atributo disabled para un cuadro de texto o área de texto?

He visto lo siguiente usado antes:

<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />

4 answers

  • Para XHTML, <input type="text" disabled="disabled" /> es el marcado válido.
  • Para HTML5, <input type="text" disabled /> es válido y utilizado por W3C en sus muestras.
  • De hecho, both ways funciona en todos los navegadores principales.
 137
Author: Erick Petrucelli,
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
2012-01-31 14:54:59

Especificación HTML5 :

Http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute:

El atributo de contenido comprobado 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 sea 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" disabled />
<input type="text" disabled="" />
<input type="text" disabled="disabled" />
<input type="text" disabled="DiSaBlEd" />

Los siguientes son no válidos :

<input type="text" disabled="0" />
<input type="text" disabled="1" />
<input type="text" disabled="false" />
<input type="text" disabled="true" />

La ausencia del atributo es la única sintaxis válida para false :

<input type="text" />

Recomendación

Si le importa escribir XHTML válido, use disabled="disabled", ya que <input disabled> no es válido y otras alternativas son menos legibles. De lo contrario, solo use <input disabled> ya que es más corto.

 94
Author: Ciro Santilli 新疆改造中心 六四事件 法轮功,
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-15 14:22:22

Acabo de probar todos estos, y para IE11, lo único que parece funcionar es disabled="true". Los valores de deshabilitado o sin valor dado no funcionaron. De hecho, el jsp tiene un error que se requiere igual para todos los campos, así que tuve que especificar disabled="true" para que esto funcione.

 1
Author: Edmond ME,
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
2016-06-08 15:07:37

En HTML5, no hay un valor correcto, a todos los principales navegadores realmente no les importa cuál es el atributo, solo están verificando si el atributo existe para que el elemento esté deshabilitado.

 0
Author: MadsHaupt,
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-07-31 14:42:15