Eu li um pouco sobre isso, mas não consigo encontrar nada sólido sobre como diferentes navegadores tratam as coisas.
html
cross-browser
Andy
fonte
fonte
Respostas:
Um
readonly
elemento não é editável, mas é enviado quando o envio é enviadoform
. Umdisabled
elemento não é editável e não é enviado no envio. Outra diferença é que osreadonly
elementos podem ser focados (e focados ao "tabular" um formulário), enquanto osdisabled
elementos não podem.Leia mais sobre isso neste ótimo artigo ou na definição de w3c . Para citar a parte importante:
fonte
disabled
implica,readonly
masreadonly
não implicadisabled
. Em outras palavras, se um elemento tiver odisabled
atributo, não será necessário incluir também oreadonly
atributo. Corrigir?Nenhum evento é acionado quando o elemento está com o atributo desativado.
Nenhuma das opções abaixo será acionada.
Enquanto somente leitura será acionado.
fonte
Desativado significa que nenhum dado desse elemento do formulário será enviado quando o formulário for enviado. Somente leitura significa que qualquer dado de dentro do elemento será enviado, mas não poderá ser alterado pelo usuário.
Por exemplo:
Isso enviará o valor "Bob" para o elemento "seunome".
Isso não enviará nada para o elemento "seunome".
fonte
readonly
edisabled
são valores booleanos. Usedisabled
em vez dedisabled="disabled"
(o mesmo para somente leitura)attrname="attrname"
. De qualquer maneira, não parece ser particularmente bem documentado, pelo menos não que eu possa encontrar. Bem, existe isso - w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2 - mas apenas menciona especificamente SGML e HTML, não XHTML .... muitos acrônimos: SBoolean attributes may legally take a single value: the name of the attribute itself (e.g., selected="selected").
Portanto, a string vazia não parece ser válida.O mesmo que as outras respostas (desativado não é enviado ao servidor, somente leitura), mas alguns navegadores impedem o destaque de um formulário desativado, enquanto o somente leitura ainda pode ser destacado (e copiado).
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
fonte
Se o valor de uma caixa de texto desabilitada precisar ser retido quando um formulário for limpo (redefinido),
disabled = "disabled"
ele deverá ser usado, pois a caixa de texto somente leitura não reterá o valorPor exemplo:
HTML
Caixa de texto
Botão de reset
No exemplo acima, quando o botão Limpar é pressionado, o valor do texto desabilitado será retido no formulário. O valor não será retido no caso de
input type = "text" readonly="readonly"
fonte