Emulieren des schreibgeschützten Attributs für HTML-SELECT-Tag mit POST-Datenabruf
Gemäß den HTML-Spezifikationen fehlt dem SELECT-Tag ein schreibgeschütztes Attribut, was dies erforderlich macht die Verwendung des Attributs „disabled“, um Änderungen der Benutzereingaben zu verhindern. Dies stellt jedoch ein Problem dar, da deaktivierte Eingaben von POST- oder GET-Datenübermittlungen ausgeschlossen werden.
Um dieses Problem zu bewältigen, besteht eine Problemumgehung darin, das deaktivierte Attribut für das SELECT-Element beizubehalten und gleichzeitig eine versteckte Eingabe mit demselben Namen hinzuzufügen und Wert.
Lösung:
- Initialisieren Sie das SELECT-Element als deaktiviert.
- Fügen Sie einen versteckten Eingang mit demselben Namen und Wert wie das SELECT-Element hinzu.
- Wenn das SELECT-Element wieder aktiviert wird, übertragen Sie seinen Wert mithilfe eines onchange-Ereignisses an den versteckten Eingang. Deaktivieren oder entfernen Sie anschließend die ausgeblendete Eingabe.
Implementierung:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<form>
Code-Erklärung:
- Das Formular enthält ein deaktiviertes SELECT-Element und eine versteckte Eingabe für die Tierauswahl.
- Wenn das Wenn Sie auf die Schaltfläche „Aktivieren“ klicken, wird das SELECT-Element aktiviert und sein Name auf „Tier“ gesetzt. Die ausgeblendete Eingabe ist deaktiviert, um eine doppelte Übermittlung zu verhindern.
- Ein Onchange-Ereignis überträgt den aktualisierten SELECT-Elementwert bei erneuter Aktivierung an die ausgeblendete Eingabe.
- Bei der Formularübermittlung werden die übermittelten Formulardaten angezeigt, die beides umfassen die Farbauswahl aus dem zweiten SELECT-Element und die Tierauswahl aus der versteckten Eingabe.
Das obige ist der detaillierte Inhalt vonWie emuliere ich ein schreibgeschütztes Attribut für ein HTML-SELECT-Tag und rufe trotzdem POST-Daten ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn