Ich habe ein wenig darüber gelesen, aber ich kann anscheinend nichts Festes darüber finden, wie verschiedene Browser Dinge behandeln.
html
cross-browser
Andy
quelle
quelle
Antworten:
Ein
readonly
Element kann einfach nicht bearbeitet werden, sondern wird gesendet, wenn das entsprechende Element gesendet wirdform
. EINdisabled
Element kann nicht bearbeitet werden und wird beim Senden nicht gesendet. Ein weiterer Unterschied besteht darin, dassreadonly
Elemente fokussiert werden können (und fokussiert werden, wenn Sie durch ein Formular "tippen"), währenddisabled
Elemente dies nicht können.Lesen Sie mehr darüber in diesem großartigen Artikel oder in der Definition von w3c . Um den wichtigen Teil zu zitieren:
quelle
disabled
impliziertreadonly
,readonly
aber nicht impliziertdisabled
. Mit anderen Worten, wenn ein Element dasdisabled
Attribut hat, muss das Attribut nicht ebenfalls enthalten seinreadonly
. Richtig?Es werden keine Ereignisse ausgelöst, wenn das Element das Attribut deaktiviert hat.
Keiner der folgenden Punkte wird ausgelöst.
Während schreibgeschützt wird ausgelöst.
quelle
Deaktiviert bedeutet, dass beim Senden des Formulars keine Daten von diesem Formularelement gesendet werden. Schreibgeschützt bedeutet, dass alle Daten aus dem Element gesendet werden, aber vom Benutzer nicht geändert werden können.
Zum Beispiel:
Dadurch wird der Wert "Bob" für das Element "yourname" übergeben.
Dies wird nichts für das Element "Ihr Name" senden.
quelle
readonly
unddisabled
sind boolesche Werte. Verwenden Siedisabled
anstelle vondisabled="disabled"
(gleich für readonly)attrname="attrname"
. Auf jeden Fall scheint es nicht besonders gut dokumentiert zu sein, zumindest nicht, dass ich es finden kann. Nun, es gibt dies - w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2 - aber es erwähnt nur speziell SGML und HTML, nicht XHTML ... zu viele Akronyme: SBoolean attributes may legally take a single value: the name of the attribute itself (e.g., selected="selected").
Die leere Zeichenfolge scheint also nicht gültig zu sein.Wie die anderen Antworten (deaktiviert wird nicht an den Server gesendet, schreibgeschützt), aber einige Browser verhindern das Hervorheben eines deaktivierten Formulars, während schreibgeschützt weiterhin hervorgehoben (und kopiert) werden kann.
http://www.w3schools.com/tags/att_input_disabled.asp
http://www.w3schools.com/tags/att_input_readonly.asp
quelle
Wenn der Wert eines deaktivierten Textfelds beim Löschen eines Formulars (Zurücksetzen) beibehalten werden muss,
disabled = "disabled"
muss es verwendet werden, da das schreibgeschützte Textfeld den Wert nicht beibehältZum Beispiel:
HTML
Textfeld
Reset-Knopf
Wenn im obigen Beispiel die Schaltfläche Löschen gedrückt wird, bleibt der deaktivierte Textwert im Formular erhalten. Der Wert wird im Fall von nicht beibehalten
input type = "text" readonly="readonly"
quelle