disabled vs. readonly
Gli attributi disabled
e readonly
hanno effetti simili – infatti, hanno lo stesso aspetto dalla prospettiva dell’utente. In entrambi i casi, ciò che l’utente vede è un campo leggermente “oscurato”, che non può essere cliccato o modificato.
<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>
Disabilitato
Leggibile
Tuttavia, sono diversi e usare quello sbagliato può causare problemi.
Se un campo è disabled
, il valore del campo non viene inviato al server quando il modulo viene inviato. Se un campo è readonly
, il valore viene inviato al server.
Suggerimento: se c’è qualche ragione per cui non si vuole che il valore di un particolare campo sia incluso in una richiesta di invio del modulo, si potrebbe voler esaminare la gestione del modulo lato server. È possibile per un utente malintenzionato sovrascrivere l’attributo
disabled
dell’input del modulo e inviare qualsiasi dato del modulo. Questo è vero per qualsiasi elemento, in realtà – non dimenticate mai di considerare la validazione e la sanificazione dei form lato server.Adam è uno scrittore tecnico specializzato in documentazione per sviluppatori e tutorial.