webentwicklung-frage-antwort-db.com.de

Werte von deaktivierten Eingaben werden nicht gesendet

Dies ist, was ich von Firebug in Firefox gefunden habe.

Ist es auch in anderen Browsern so?

Wenn ja, woran liegt das?

197
omg

Ja, alle Browser sollten die deaktivierten Eingaben nicht senden, da sie schreibgeschützt sind.

Weitere Informationen (Abschnitt 17.12.1)

Attributdefinitionen

disabled [CI] Wenn dieses Boolesche Attribut für ein Formularsteuerelement festgelegt ist, wird das Steuerelement für Benutzereingaben deaktiviert. Wenn festgelegt, hat das deaktivierte Attribut die folgenden Auswirkungen auf ein Element:

  • Deaktivierte Steuerelemente erhalten keinen Fokus.
  • Deaktivierte Steuerelemente werden in der Tabulatornavigation übersprungen.
  • Deaktivierte Steuerelemente können nicht erfolgreich sein.

Die folgenden Elemente unterstützen das Attribut disabled: BUTTON, INPUT, OPTGROUP, OPTION, SELECT und TEXTAREA.

Dieses Attribut wird geerbt, aber lokale Deklarationen überschreiben den geerbten Wert.

Wie deaktivierte Elemente gerendert werden, hängt vom Benutzerprogramm ab. Einige Benutzerprogramme "ausgegraut" beispielsweise deaktivierte Menüelemente, Schaltflächenbeschriftungen usw.

In diesem Beispiel ist das INPUT-Element deaktiviert. Daher kann er keine Benutzereingaben empfangen und sein Wert wird auch nicht mit dem Formular übermittelt.

<INPUT disabled name="fred" value="stone">

Hinweis. Die einzige Möglichkeit, den Wert des deaktivierten Attributs dynamisch zu ändern, ist ein Skript.

177
Aziz

Bei der Eingabe von disabled werden keine Daten übermittelt.

Verwenden Sie das readonly Attribut:

<input type="text" readonly />

Quelle hier

254
Fred K

Sie werden nicht übermittelt, weil so steht es in der W3C-Spezifikation .

17.13.2 Erfolgreiche Kontrollen

Eine erfolgreiche Kontrolle ist für die Einreichung "gültig". [snip]

  • Deaktivierte Steuerelemente können nicht erfolgreich ausgeführt werden.

Mit anderen Worten, die Spezifikation besagt, dass deaktivierte Steuerelemente als ungültig gelten und nicht gesendet werden sollten.

21
MiffTheFox

Sie können drei Dinge verwenden, um Behinderte nachzuahmen:

  1. HTML: readonly -Attribut (damit der in der Eingabe vorhandene Wert bei der Formularübermittlung verwendet werden kann. Außerdem kann der Benutzer den Eingabewert nicht ändern.)

  2. CSS: 'pointer-events':'none' (Benutzer am Klicken auf die Eingabe hindern)

  3. HTML: tabindex="-1" (Benutzer blockieren, um zur Eingabe über die Tastatur zu navigieren)

18
Novice_JS

Disabled Steuerelemente können nicht erfolgreich sein, und ein erfolgreiches Steuerelement ist für die Übermittlung "gültig". Dies ist der Grund, warum deaktivierte Steuerelemente nicht mit dem Formular gesendet werden.

2
Juan de Parras