disabled vs. readonly readonly
Die Attribute disabled
und readonly
haben ähnliche Auswirkungen – tatsächlich sehen sie aus Sicht des Benutzers gleich aus. In beiden Fällen ist das, was der Benutzer sieht, ein leicht „ausgegrautes“ Feld, das nicht angeklickt oder bearbeitet werden kann.
<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>
Disabled
Readonly
Allerdings sind sie unterschiedlich und die Verwendung des falschen kann Probleme verursachen.
Wenn ein Feld disabled
ist, wird der Wert des Feldes nicht an den Server gesendet, wenn das Formular abgeschickt wird. Wenn ein Feld readonly
ist, wird der Wert an den Server gesendet.
Protip: Wenn Sie aus irgendeinem Grund _wirklich_ nicht möchten, dass der Wert eines bestimmten Feldes in einer Formularübermittlungsanfrage enthalten ist, sollten Sie sich Ihre serverseitige Formularbehandlung ansehen. Es ist möglich, dass ein böswilliger Benutzer das
disabled
-Attribut Ihrer Formulareingabe außer Kraft setzt und beliebige Formulardaten sendet. Das gilt eigentlich für jedes Element – vergessen Sie nie, die serverseitige Formularvalidierung und -bereinigung zu berücksichtigen.Adam ist ein technischer Autor, der sich auf Entwicklerdokumentation und Tutorials spezialisiert hat.