La differenza tra gli attributi disabled e readonly assegnati ai campi di input di una form HTML
Gli attributi disabled e readonly applicabili ai capi di input (input, select, radio, checkbox e textarea)
di una form HTML servono entrambi per bloccare la modifica del campo stesso da parte dell'utente.
Più precisamente:
Per capire pinamente l'effetto dei due attributi sui vari campi delle form HTML proviamo a fare degli esempi
Utilizzando l'attributo readonly su input di tipo "text" e textarea l'utente può copiare il contenuto dei campi e facendo il submit della form HTML il valore dei campi vengono inviati.
Utilizzando invece l'attributo disabled su input di tipo "text" e textarea l'utente NON può copiare il contenuto dei campi e facendo il submit della form HTML i valori dei campi NON vengono inviati.
Utilizzando l'attributo readonly su input di tipo "radio" e "checkbox" non cambia niente e facendo il submit della form HTML i valori dei campi vengono inviati.
Utilizzando invece l'attributo disabled su input di tipo "radio" e "checkbox" l'utente NON può modificare le scelte già selezionate e facendo il submit della form HTML i valori dei campi NON vengono inviati.
Come si può evitare che un utente cambi il valore selezionato di un radio o di un checkbox?
Si possono visualizzare i campi radio e checkbox con l'attributo disabled ed affiancarli con dei campi di tipo hidden con i valori da inviare dopo il submit
Come per "radio" e "checkbox" utilizzando l'attributo readonly su una select non cambia niente e facendo il submit della form HTML il valore del campo viene inviato.
Utilizzando invece l'attributo disabled su una select l'utente NON può modificare la scelta già selezionata e facendo il submit della form HTML il valore del campo NON viene inviato.