Emulieren von Readonly-Attributen für HTML-Select-Tags unter Beibehaltung von POST-Daten
In HTML fehlt dem Select-Tag ein dediziertes Readonly-Attribut, mit nur einem deaktiviertes Attribut verfügbar. Das Deaktivieren von Formulareingaben verhindert jedoch deren Aufnahme in POST- oder GET-Anfragen.
Um dieses Problem zu beheben, besteht eine Problemumgehung darin, das Auswahlelement zu deaktivieren und eine versteckte Eingabe mit demselben Namen und Wert hinzuzufügen. Wenn das Auswahlelement aktiviert ist, wird sein Wert in die versteckte Eingabe kopiert, wodurch effektiv ein schreibgeschütztes Attribut nachgeahmt wird.
Hier ist eine Beispielimplementierung:
$('#mainform').submit(function() { $('#formdata_container').show(); $('#formdata').html($(this).serialize()); return false; }); $('#enableselect').click(function() { $('#mainform input[name=animal]') .attr("disabled", true); $('#animal-select') .attr('disabled', false) .attr('name', 'animal'); $('#enableselect').hide(); return false; });
Durch Bearbeiten des deaktivierten Attributs und Kopieren von Werten Zwischen der Auswahl- und der versteckten Eingabe emuliert dieser Ansatz die Funktionalität eines schreibgeschützten Attributs und ermöglicht gleichzeitig die Veröffentlichung von Daten.
Das obige ist der detaillierte Inhalt vonWie simuliere ich ein schreibgeschütztes Attribut für HTML-Select-Tags und pflege gleichzeitig POST-Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!