FAQ: Wie kann ich meinen Besucher zu einer anderen Seite schicken, nachdem er das Formular abgeschickt hat?

A: Das kommt darauf an. Wenn Du ein CGI Skript für die Formularverarbeitung verwendest (vorzugsweise), dann hast Du diese Möglichkeit. Die Richtlinien für diese Skript können Dich eine Weiterleitungs-URL (redirect) als verstecktes Feld angeben lassen, oder es kann im Skript selbst angegeben werden. In beiden Fällen solltest Du die Beschreibung für das Skript zu Rate ziehen.

Wenn Du mailto: Formulare verwendest, gibt es auch noch eine Möglichkeit. Beachte jedoch, das die mailto: Aktion bezüglich der Browser/Email-Einstellungen der Nutzer unzuverlässig sein kann. manche Nutze können Ärger mit dem Verschicken Deines Formulars haben. (Wie viele? 5%? 20%? Mehr? Ich weiss es nicht.)

Die mailto Weiterleitung erfordert auch Javascript, und auch wenn viele es aktiviert haben, jene die es deaktiviert haben, werden nicht weitergeleitet. Also, alle Warnungen sind raus... jetzt kommt, wie Du eine Javascript Umleitung in Dein mailto Formular einfügst:

Zuerst füge das hier in die  HEAD Sektion Deines Dokuments...

<SCRIPT language="JavaScript"><!--
function FormRedirect(){
setTimeout('this.document.location.href = "seite.html"',5000);}
//--></SCRIPT>

Wobei  seite.html die Adresse des Dokuments ist, zu dem weitergeleitet wird.

Dann füge das zu Deinem FORM Tag hinzu...

onSubmit="FormRedirect()"

Unten ist ein Beispiel-Formular.

<FORM NAME="myform" METHOD=POST ACTION="mailto:abc@123.org"
      ENCTYPE="text/plain" onSubmit="FormRedirect()">
<INPUT TYPE="text" NAME="mytextbox" VALUE="">
<INPUT TYPE="submit">
</FORM>

Beachte die 5000 in der Funktion. Es ist eine 5000 Millisekunden Verzögerung (5 Sekunden) und es ist notwendig, dem Browser zu erlauben, die Daten tatsächlich zu senden, bevor die Weiterleitung erfolgt. Wenn der Browser länger als 5 Sekunden braucht, wird er sowieso weitergeleitet und die Daten sind flöten. Wenn die mailto: Aktion fehlschlägt,   wird er auch weitergeleitet und die Daten sind auch dann flöten. (Tatsächlich scheinen die Daten noch da zu sein, wenn der Nutzer den Zurück Button drückt, aber wenn er nicht andere Anstalten macht, die Daten zu senden, wirst Du sie nie sehen.

Unglücklicherweise ist so ein Setup nicht das Klügste in der Welt. In den meisten Fällen funktioniert es wie geplant, aber es ist wie ein Kartenhaus. Ein Kartenhaus sieht gut aus, aber es ist auch schnell futsch. Dein Formular mag zwar cool aussehen, aber man braucht nicht viel, es zunichte zu machen.


Noch ein paar Leckerbissen und wir sind fertig hiermit. Wenn Du ein mailto. in Dein Formular einbaust und jemand schickt Dir was, wirst Du einen Standardbetreff  sehen. Wenn Dein Besucher Netscape verwendet hat, siehst Du etwas wie "Form posted from Mozilla". Andere Browser senden ein "Form Response" usw.

Du kannst das ändern, indem Du den <FORM> Tag folgendermassen änderst...

<FORM METHOD=POST ACTION="mailto:robin@batman.org?subject=Springende Qualle!" ENCTYPE="text/plain">

Ganz schön cool, ha?

Lass Dir aber gesagt sein, dass es draussen ein paar alte Email-Programme gibt, die einen so angegebenen Betreff nicht verarbeiten. In diesem Falle erscheinen die Daten als gesendet, aber in Wirklichkeit verschwinden sie im Nirwana. Falls Du Dir wegen versehentlich nicht erhaltener Antworten Sorgen machst, solltest Du keinen Betreff angeben.

Falls Du den Teil übersprungen hast, der sich mit CGI Formularverarbeitung beschäftigt hat, möchtest Du vielleicht  zurückgehen und Dich mit diesem Prozess vertraut machen. Wie schon erwähnt, können mailto: Formulare ein wenig Sorgen bereiten und /oder für einen bestimmten Prozentsatz Deiner Besucher unzuverlässig sein. Falls Du Dir darüber Sorgen machst, solltest Du Formular-Skripte nutzen.