Marco Reisner: Formulare: Redirect nach dem Abschicken einer Nachricht ohne CGI möglich???

Hallo,

ich hab kürzlich ein E-Mail-Formular ertsellt (Code am Ende). Wie schaffe ich es, wenn jemand die Nachricht über dieses Formular geschickt hat, daß nach dem Senden automatisch eine neue Seite (z.B. success.htm) geladen wird. Mit CGI wär das kein Problem, aber wie funktioniert das ohne CGI (falls überhaupt möglich)??? IMein Provider unterstützt  leider kein CGI und die Anbieter von kostenlosem Web-Space mit CGI blenden Werbebanner ein, wodurch die Ladezeiten der eigentlichen Seiten unerträglich werden. Ich hab es bis jetzt nur geschafft, eine neue Seite zu laden, nach dem der Abschicken-Button gedrückt wurde, die Mail aber noch nicht versendet wurde. Das bringt mir halt auch nichts. Ich hoffe, jemand hat eine Idee. Danke schon mal im voraus,

Marco

Quellcode:

<html>
<head>
<title>E-Mail-Formular</title>
<script language = "JavaScript">
function testForm() {
var error = false;
var error_message = "Eingabe-Fehler:\n";

if (document.formular.name.value == '') {
  error = true;
  error_message += "- Kein Name angegeben!\n";
}

if (document.formular.email.value == '') {
  error = true;
  error_message += "- Keine E-Mail-Adresse angegeben!\n";
} else if (document.formular.email.value.indexOf("@") == -1) {
  error = true;
  error_message += "- Falsche E-Mail-Adresse angegeben!\n";
}

if (document.formular.betreff.value == '') {
  error = true;
  error_message += "- Kein Betreff angegeben!\n";
}

if (document.formular.text.value == '') {
  error = true;
  error_message += "- Keinen Nachrichtentext angegeben!\n";
}

if (error) {
  error_message += "\nBitte korrigieren!!!";
  alert(error_message);
  return false;
} else {
  return true;
}
}
</script>
<style type="text/css">
b,i { font-family:Arial,Helvetica; font-size:11pt; color:#FFFFFF; }
</style>
</head>
<body bgcolor=#000000 background="images/stars.jpg" text=#FFFFFF link=#FFFFFF vlink=#FFFFFF alink=#FFFFFF>
<center>
<img src="images/contact.jpg" width=200 height=95 alt="Contact Me" border=0>
<form method=post action="mailto:Possos-Page@gmx.de?subject=Feedback from PoSSo´s Homepage" name="formular" onSubmit="return testForm();" enctype="text/plain">
<table cellpadding=2 cellspacing=0 border=0>
<tr>
<br>
<td align=left nowrap valign=middle><b>Ihr Name:</b></td>
<td valign=middle><input type=text name="name" size=35</td>
</tr>
<tr>
<td align=left nowrap valign=middle><b>Ihre E-Mail-Adresse:</b></td>
<td valign=middle><input type=text name="email" size=35</td>
</tr>
<tr>
<td align=left nowrap valign=middle><b>Betreff:</b></td>
<td valign=middle><input type=text name="betreff" size=35</td>
</tr>
<tr>
<td valign=top colspan=2>
<br><b>Nachrichtentext:</b><br>
<textarea cols=50 rows=12 wrap=physical name="text"></textarea>
</td>
</tr>
<tr>
<td nowrap valign=top colspan=2>
<br>
<center>
<input type=submit value="Nachricht absenden">
<input type=reset value="Nachricht verwerfen">
</center>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>

  1. Hi,

    ich hab kürzlich ein E-Mail-Formular ertsellt (Code am Ende). Wie schaffe ich es, wenn jemand die Nachricht über dieses Formular geschickt hat, daß nach dem Senden automatisch eine neue Seite (z.B. success.htm) geladen wird.

    ein Fall für die FAQ... ;-)
    Ich habe mir den Quellcode nicht durchgelesen (ist etwas müßig, hundert Codezeilen zu verstehen), gehe aber davon aus, daß Du onClick oder onSubmit ein location.href= ausführst. Setze das einfach in ein window.setTimeout() mit sagen wir 3 Sekunden Verzögerung, dann sollte es funktionieren.

    Cheatah