He leído un poco sobre esto, pero parece que no puedo encontrar nada sólido sobre cómo los diferentes navegadores tratan las cosas.
html
cross-browser
Andy
fuente
fuente
Respuestas:
Un
readonly
elemento simplemente no es editable, pero se envía cuando se envía el correspondienteform
. Undisabled
elemento no es editable y no se envía al enviar. Otra diferencia es que losreadonly
elementos pueden enfocarse (y enfocarse cuando se "tabula" a través de un formulario) mientras que losdisabled
elementos no.Lea más sobre esto en este gran artículo o la definición de w3c . Para citar la parte importante:
fuente
disabled
implicareadonly
peroreadonly
no implicadisabled
. En otras palabras, si un elemento tiene eldisabled
atributo, no hay necesidad de incluirlo tambiénreadonly
. ¿Correcto?No se activan eventos cuando el elemento tiene el atributo deshabilitado.
Ninguno de los siguientes se activará.
Mientras que solo lectura se activará.
fuente
Desactivado significa que no se enviarán datos de ese elemento del formulario cuando se envíe el formulario. Solo lectura significa que se enviarán todos los datos del elemento, pero el usuario no puede modificarlos.
Por ejemplo:
Esto enviará el valor "Bob" para el elemento "yourname".
Esto no enviará nada para el elemento "yourname".
fuente
readonly
ydisabled
son valores booleanos. Usar endisabled
lugar dedisabled="disabled"
(lo mismo para solo lectura)attrname="attrname"
. De cualquier manera, no parece estar particularmente bien documentado, al menos no que pueda encontrar. Bueno, está esto: w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2 , pero solo menciona específicamente SGML y HTML, no XHTML ... demasiados acrónimos: SBoolean attributes may legally take a single value: the name of the attribute itself (e.g., selected="selected").
tanto, la cadena vacía no parece ser válida.Igual que las otras respuestas (deshabilitado no se envía al servidor, solo lectura) pero algunos navegadores evitan resaltar un formulario deshabilitado, mientras que solo lectura puede resaltarse (y copiarse).
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
fuente
Si el valor de un cuadro de texto deshabilitado debe mantenerse cuando se borra un formulario (restablecer),
disabled = "disabled"
debe usarse, ya que el cuadro de texto de solo lectura no retendrá el valorPor ejemplo:
HTML
Caja de texto
Botón de reinicio
En el ejemplo anterior, cuando se presiona el botón Borrar, el valor de texto deshabilitado se conservará en el formulario. El valor no se retendrá en el caso de
input type = "text" readonly="readonly"
fuente