desabilitado vs. readonly
The disabled
e readonly
os atributos têm efeitos semelhantes – de facto, têm o mesmo aspecto do ponto de vista do utilizador. Em ambos os casos, o que o utilizador vê é um campo que está ligeiramente “cinzento”, que não pode ser clicado ou editado.
<form> <label for="disabled">Disabled</label><br> <input name="disabled" value="disabled" disabled> <br><br> <label for="readonly">Readonly</label><br> <input name="readonly" value="readonly" readonly></form>
Deficiente
Readonly
No entanto, são diferentes e a utilização do errado pode causar problemas.
Se um campo for disabled
, o valor do campo não é enviado para o servidor quando o formulário é submetido. Se um campo for readonly
, o valor é enviado para o servidor.
Protip: Se houver alguma razão para que _realmente_ não queira que o valor de um determinado campo seja incluído num pedido de submissão de formulário, poderá querer ver o tratamento do seu formulário do lado do servidor. É possível para um utilizador malicioso anular o atributo
disabled
do seu formulário e enviar os dados do formulário que quiser. Isto é verdade para qualquer elemento, na verdade – nunca se esqueça de considerar a validação e higienização de formulários do lado do servidor.div>Adam é um escritor técnico especializado em documentação de desenvolvimento e tutoriais.