Weiterleitung zu einer URL in einem Formular

Hallo beisammen !

Habe folgende Frage:

Ich habe ein Formular, welches per E-Mail versendet wird auf einer HP. Wenn nun jemand den Submit-Button klickt, wird das Formular per javascript überprüft. Wenn alles in Ordnung ist und das Formular versandt ist/wird, soll eine Art „Danke“-Seite aufgehen bzw. eine neue *.htm-Datei.
Jedoch wenn die Eingabe im Formular z.Bsp. noch unvollständig ist, so soll die Weiterleitung noch nicht erfolgen.

Ist dies mit simplem HTML möglich oder eher ein javascript oder ähnliches sinnvoller? Wie stelle ich dies denn an?

Vielen Dank für Eure Tipps schon mal im voraus.

Grüße
Jochen Seybold

Hi Jochen,

dein Javascript untersucht ja praktisch deine Eingaben und lässt das Formular nur verschicken, wenn diese auch stimmen. Es wird also irgendwo ein TRUE zurückliefern, aufgerufen durch ein onSubmit in HTML.
Du könntest also noch ein window.location=„http://www.meineSeite.de/danke.html“; in deinem Javascript vor das TRUE einbauen, welches dann entsprechend auf deine Dankeseite weiterleitet.

Ciao, Bill

Hallo,

Ich habe ein Formular, welches per E-Mail versendet wird auf
einer HP. Wenn nun jemand den Submit-Button klickt, wird das
Formular per javascript überprüft. Wenn alles in Ordnung ist
und das Formular versandt ist/wird, soll eine Art
„Danke“-Seite aufgehen bzw. eine neue *.htm-Datei.
Jedoch wenn die Eingabe im Formular z.Bsp. noch unvollständig
ist, so soll die Weiterleitung noch nicht erfolgen.

was ist denn als action im Formular eingetragen?
Normalerweise kenne ich den Weg so:

Das Formular wird an ein CGI geschickt, das die Angaben auswertet und verarbeitet und auch eine Antwort ausgibt.
Das Javascript prueft ja VORHER, ob die Felder alle ausgefuellt sind.
Wenn Du das Javascript mit ‚onsubmit‘ im ‚form‘-Tag aufrufst, sollte es reichen, wenn Du im Script bei fehlenden Angaben ein ‚return false;‘ hinzufuegst.
Dann wird das Formular erst gar nicht abgeschickt und der Besucher bleibt auf der Seite mit dem Formular.

Wie Du eine Antwort-Seite ausgibts muesstest Du aus der hoeffentlich vorhandenen Doku Deines CGIs, das die Angaben verarbeitet entnehmen.
Bei dem Strato (perl?) - CGI zB musst Du ein hidden-input-feld mit dem Namen ‚redirect‘ und als Wert der relativen Adresse der Seite anlegen.
Bei anderen Scripts mag das anders sein…

Greetinx
Christian

http://www.html-workshop.de

Hallo Bill,

Du könntest also noch ein
window.location=„http://www.meineSeite.de/danke.html“;
in deinem Javascript vor das TRUE einbauen, welches dann
entsprechend auf deine Dankeseite weiterleitet.

bist Du sicher, dass dann das Script / CGI, das die Angaben auswerten soll noch aufgerufen wird - oder anders: dass damit nicht die action im Form-tag nicht ausgehebelt wird?

fragt sich
Christian

Jepp
Hi Christian,

die Formular-Daten werden per eMail verschickt.
Ich habe es bei mir vorher ausprobiert.
Also bei mir sind sowohl die Daten verschickt, als auch die Danke-Seite angezeigt worden.

Ich denke mal, dass wohl das form-action höhere Priorität hat, als der location-Wechsel oder zumindest beide Aktionen gleichzeitig ausgeführt werden, die eine also die andere nicht „unterdrückt“.

function check()
{
 if(form1.name.value=="")
 {
 return false;
 }
 else 
 {
 window.location="danke.html";
 return true;
 }
}

...

Ich denke mal, dass dies wohl auch bei einem CGI so funktionieren würde?!

Ciao, Bill

Vielen Dank für die Hilfe.
Klappt soweit alles wunderbar.

Jetzt hätte ich da aber noch eine Frage dazu.
Und zwar:

Das Formular wird jetzt per Datei Anhang Postdata.att gesendet.
Gibt es da eine Möglichkeit es als Text in der E-Mail zugesandt zu bekommen?

Wäre auch für diese Hilfe sehr dankbar.

Grüße
Jochen Seybold