So übermitteln Sie den Wert eines deaktivierten Formularfelds in einem Formular Beispielcode

So übermitteln Sie den Wert eines deaktivierten Formularfelds in einem Formular Beispielcode
Wenn ein Formularfeld in einem Formular deaktiviert ist, wird der Wert des Formularfelds nicht übermittelt. Manchmal müssen Sie diesen Wert jedoch übermitteln.
Es gibt viele Lösungen, wie beispielsweise die Verwendung von schreibgeschützt statt deaktiviert, aber ich denke, keine davon ist besonders gut (die genauen Gründe werden weggelassen).

Mir ist eine Lösung eingefallen, die darin besteht, das abzuschickende Formular vor dem Absenden zu kopieren, dann das deaktivierte Attribut aller Formularfelder im kopierten Formular auf „false“ zu setzen und dann das kopierte Formular abzuschicken. Nachfolgend sehen Sie den Demonstrationscode (speichern Sie den Code in einer Datei mit dem Namen „submit.html“, um den Demonstrationseffekt zu beobachten).

Code kopieren
Der Code lautet wie folgt:

<html>
<Kopf>
<meta http-equiv="Inhaltstyp" content="text/html; charset=shift-jis">
<Titel>
Senden
</Titel>
<Skript>
Funktion doSubmit(Formular) {
var neueForm = form.cloneNode(true);
enableFields(newForm.getElementsByTagName("Eingabe"));
enableFields(newForm.getElementsByTagName("Textbereich"));
Aktivieren Sie die Felder (newForm.getElementsByTagName("Auswählen"));
newForm.style.display = "keine";
Dokument.Body.AnhängenUntergeordnetesElement(neuesFormular);
neuesFormular.submit();
}
Funktion enableFields(Felder) {
für(var i=0;i<Felder.Länge;i++) {
var Feld = Felder[i];
wenn (Feldinstanz von (Array)) {
für (var j=0;j<Feld.Länge;j++) {
Feld[j].deaktiviert = false;
}
} anders {
Feld.deaktiviert = falsch;
}
}
}
</Skript>
</Kopf>
<Text>
<form action="submit.html">
<input type="text" name="text" value="tt" deaktiviert/>

<input type="radio" name="radio" value="r1" aktiviert deaktiviert>r1
<Eingabetyp="Radio" Name="Radio" Wert="r2">r2

<Eingabetyp="Kontrollkästchen" Name="Kontrollkästchen" Wert="c1">c1
<input type="checkbox" name="checkbox" value="c2" aktiviert deaktiviert>c2

<select name="select" deaktiviert>
<optionswert="1">1</option>
<optionswert="2">2</option>
</Auswählen>

<textarea name="textarea" deaktiviert>123</textarea>

<input type="button" value="senden" onclick="doSubmit(this.form)">
</form>
</body>

<<:  CSS3 realisiert den grafischen Fallanimationseffekt

>>:  Erläuterung des Beispiels einer MySQL-Datenanalyse-Speicher-Engine

Artikel empfehlen

Diskussion zu Bildpfadproblemen in CSS (dasselbe Paket/anderes Paket)

In CSS-Dateien müssen Sie manchmal einen Hintergru...

Vue implementiert die Anmeldung mit grafischem Bestätigungscode

In diesem Artikelbeispiel wird der spezifische Co...

So erstellen Sie eine MySQL-Datenbank (de1) mit Befehlen

1. Verbindung zu MySQL herstellen Format: mysql -...

So überprüfen Sie die PCIe-Version und -Geschwindigkeit unter Linux

PCIE verfügt über vier verschiedene Spezifikation...

Verwenden von CSS3 zum Implementieren eines Schriftfarbverlaufs

Beim Verwenden von Animation.css habe ich festges...

Detaillierte Erläuterung der Wissenspunkte der Linux-DMA-Schnittstelle

1. Zwei Arten der DMA-Zuordnung 1.1. Konsistente ...

Detaillierte Erklärung zur Verwendung von awk unter Linux

Bevor wir awk lernen, sollten wir sed, grep, tr, ...

Vue3 implementiert ein Beispiel für eine Nachrichtenkomponente

Inhaltsverzeichnis Komponentendesign Definieren d...

Mehrere Möglichkeiten zur Implementierung eines 0-ms-Verzögerungstimers in js

Inhaltsverzeichnis WarteschlangeMikrotask asynchr...

So zeigen Sie die MySQL-Zeitzone an und legen sie fest

1. Überprüfen Sie die Zeitzone der Datenbank Vari...