Werte von behinderten Eingänge werden nicht vorgelegt
-
20-09-2019 - |
Frage
Dies ist, was ich von Firebug in Firefox gefunden.
Ist es das gleiche in anderen Browsern?
Wenn ja, was ist der Grund dafür?
Lösung
Ja, alle Browser die deaktivierten Eingänge nicht vorlegen sollten, da sie schreibgeschützt sind.
Weitere Informationen (Abschnitt 17.12.1)
Attributdefinitionen
deaktiviert [CI] Bei der Einstellung für ein Formular-Steuerelement, das Boolesche Attribut deaktiviert die Steuerung für eine Benutzereingabe. Bei der Einstellung, das disabled-Attribut hat folgende Auswirkungen auf ein Element:
- Disabled Kontrollen nicht erhalten Fokus.
- Disabled Kontrollen werden in der Tabbing-Navigation übersprungen.
- Disabled Steuerelemente können nicht erfolgreich sein.
Die folgenden Elemente unterstützen die disabled-Attribut: Button, INPUT, OPTGROUP, OPTION, SELECT und TEXTAREA-.
Dieses Attribut geerbt, aber lokale Deklarationen überschreiben die geerbten Wert.
Wie deaktiviert Elemente gerendert werden, hängt von dem User-Agenten. Zum Beispiel einige User Agents „ausgegraut“ disabled Menüpunkte, Taste Etiketten, etc.
In diesem Beispiel wird das Eingangselement deaktiviert. Daher kann es nicht Benutzereingabe empfängt, noch wird sein Wert mit dem Formular eingereicht werden.
<INPUT disabled name="fred" value="stone">
Hinweis. Der einzige Weg, dynamisch den Wert der Behinderten zu ändern Attribut ist durch ein Skript.
Andere Tipps
disabled
Eingang keine Daten vor.
Mit dem readonly
Attribut:
<input type="text" readonly />
Sie haben nicht vorgelegt werden, weil das ist, was es der W3C-Spezifikation sagt.
17.13.2 Erfolgreiche Kontrollen
Eine erfolgreiche Steuerung „gültig“ ist für die Einreichung. [Schnipp]
- Steuerungen, die deaktiviert sind, können nicht erfolgreich sein.
Mit anderen Worten, die Spezifikation sagt, dass die Kontrollen, die deaktiviert sind, werden als ungültig betrachtet und sollen nicht eingereicht werden.
Sie können drei Dinge verwenden, um Mimik deaktiviert:
-
HTML:
readonly
Attribut (. So, dass der Wert in Eingabe auf Formular-Vorlage verwendet werden kann, auch kann der Benutzer nicht den Eingangswert ändern) -
CSS:
'pointer-events':'none'
(der Benutzer Klicken auf den Eingang zu blockieren) -
HTML:
tabindex="-1"
(Blockierung der Benutzer navigieren mit dem Eingang von der Tastatur)
Disabled
Kontrollen können nicht erfolgreich sein, und eine erfolgreiche Kontrolle „gültig“ ist für die Einreichung.
Dies ist der Grund, warum behinderte Kontrollen nicht mit dem Formular aus.