Hallo!
Hoffentlich könnt ihr mir bei meinem Problem weiterhelfen. Ich habe zwar einige HTML-Erfahrung, kenne mich aber nur recht wenig mit JavaScript aus - und will jetzt eine JavaScript-Datei bearbeiten, die eine Kollegin erstellt hat (die inzwischen nicht mehr da ist). Vielleicht hat hier ja jemand eine Idee, woran es liegen könnte, das mein Formular nicht funktioniert…
Ich möchte bei einem Bestellformular verhindern, dass jemand dieses Formular mehrfach abschickt, weil er z.B. wegen einer längeren Ladezeit mehrfach versucht. Eine Möglichkeit dafür habe ich online gefunden. Dabei wird der Senden-Button nach dem ersten Draufklicken inaktiv gemacht und die Schrift wird in „Daten werden gesendet“ umgewandelt. An einem kleineren Beispiel habe ich das ganze umgesetzt und dort funktioniert es auch problemlos. Im großen Formular geht es einfach nicht.
Aber bevor ich lange beschreibe, kommt hier der Quelltext des kleineren Beispiels (in Ausschnitten):
…
…[Infotext]…
…
Im großen Formular ist das ganze etwas komplizierter (deshalb hatte ich es ja auch erst im kleinen ausprobiert).
Es gibt ein HTML-Formular mit vielen Feldern, das vor dem Abschicken von einem JavaScript auf richtige Eingaben geprüft wird. Nach dem Abschicken bekommt man eine Seite, auf der oben alle Eingaben aufgelistet sind, darunter ein Link „Zurück zur Eingabe“ (falls doch was nicht stimmt) und ein Button „Bestellung abschicken“. In der JavaScript-Datei kommen zuerst die Prüfbedingungen
(z.B. if (eingabe.mitarbeiter.value =="")
{
alert(„Bitte geben Sie den Auftraggeber ein.“);
eingabe.mitarbeiter.focus();
return false; ).
Die erfassten Werte werden als „hidden“ Variable übergeben.
Der Quelltext danach sieht gekürzt so aus:
document.write("\n);
document.write(„input type=hidden name=‚Art‘ value=“" + art + „“>\n); [hier folgen weitere Felder mit ähnlichem Quelltext]
Anschließend folgt die Ausgabe:
document.write("");
document.write(„Ihre Bestellangaben“);
document.write(" Art der Bestellung:");
document.write("");
document.write("" + art + „“);
[entsprechend die weiteren Felder]
und zum Schluss eben der Absendeknopf:
document.write("\n");
document.write("");
Wenn man das ausgefüllte Formular abschickt, wird die Bestätigungsseite mit den Daten oben korrekt angezeigt. Wenn ich aber auf den Button „Bestellung abschicken“ klicke, werden die Daten zwar korrekt an das Perl-Skript weitergegeben, aber der Button ändert sich nicht und in der Ergebnis-Seite werden nur die Feldbeschreibungen, aber nicht die eingetragenen Inhalte angezeigt.
Vielen Dank schon mal fürs Lesen dieses langen Textes!
Gruß, Annegret