Marc: Daten werden gesendet, aber es kommt eine leere Mail

Hallo!
Ich habe mit Javascript (und der Hilfe von jemandem namens Gordon) ein Programm geschrieben
in das man seine Daten eingeben kann. Dann geht ein neues Fenster auf und man kann seine Eingaben nochmal überprüfen. Auf Wunsch können die Daten dann abgeschickt  oder die Eingaben gelöscht werden.
Und genau das klappt nicht. Es wird zwar eine Mail verschickt, aber es kommt nur ein leeres Dokument an. Auch die Nachricht, das die Mail verschickt wurde wird nicht angezeigt. Der Start over Button der eigentlich die Eingabefelder des Formulares löschen sollte, hat auch keine Wirkung.
Hier nun der Quellcode:
Bitte nicht böse sein das es soviel ist, aber ich wüßte nicht wie ich es anders hätte machen können.

<html>
<head>
  <title>Join-us</title>
<script language="JavaScript">

function neuesFenster() {
neu = open("", "anzeige", "height=300,width=500");
ndoc = neu.document;

//Formulareinheit auslesen
eingabe = document.join;
nickname = eingabe.nickname.value;
realname = eingabe.realname.value;
alter = eingabe.alter.value;
wohnort = eingabe.wohnort.value;
geschlecht = (eingabe.geschlecht[0].checked) ? "M" : "W";
icq = eingabe.icq.value;
email = eingabe.email.value;
speed = eingabe.speed[eingabe.speed.selectedIndex].text;

//Dokument oeffnen
ndoc.open();

//Ausgabe beginnen
ndoc.write("<html><head><title>Bestätigung");
ndoc.write("</title></head><body>O.K. <b>" + nickname + "</b>,<p>");
ndoc.write("vielen Dank für Deine Anmeldung!<br>");
ndoc.write("Hier nochmal eine Auflistung Deiner Angaben:<br><FORM name='join' method='POST' action='mailtoHitman75@gmx.net'");
ndoc.write("Nickname: " + nickname + "<br>");
ndoc.write("Realname: " + realname + "<br>");
ndoc.write("Alter: " + alter + "<br>");
ndoc.write("Wohnort: " + wohnort + "<br>");
ndoc.write("Geschlecht: ");
if (geschlecht == "M")
   ndoc.write("männlich<br>");
else ndoc.write("weiblich<br>");
ndoc.write  
ndoc.write("ICQ-Nummer: " + icq + "<br>");
ndoc.write("E-Mail Adresse: " + email + "<br>");
ndoc.write("Internet Speed: " + speed + "<br>");
ndoc.write("<input type=submit value='Send it!' onClick=alert('Mail_wird_versendet!')><input type=reset value='Start over'></form></body></hmtl><br>")
}

</script>
</head>

<body bgcolor="#FFFFFF" text="#FFFFFF" link="#FFFF00" vlink="#339966" background="hintergrund1.gif">
<form name="join" method="POST" action="mailto:hitman75@gmx.net" enctype="text/plain" onsubmit="alert('Daten wurden gesendet');">
<div align=center>
<table bgcolor="#0080FF" cellspacing="0" cellpadding="0" border="2" height=1 width=267>
  
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">Nickname:</b></Font></TD>
        <td align=left heigt=25 width=400><input type="text" name="nickname" size=50></TD></TR>
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">Realname:</b></Font></TD>
        <td align=left heigt=25 width=400><input type="text" name="realname" size=50></TD></TR>
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">Alter:</b></Font></TD>
        <td align=left heigt=25 width=400><input type="text" name="alter" size=2></TD></TR>      
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">Wohnort:</b></Font></TD>
        <td align=left heigt=25 width=400><input type="text" name="wohnort" size=50></TD></TR>
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">Geschlecht:</b></Font></TD>
        <td align=center heigt=25 width=400>Männlich<input type="radio" name="geschlecht" value="M" checked>
        Weiblich<input type="radio" name="geschlecht" value="M"></TD></TR>
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">ICQ-Nummer:</b></Font></TD>
        <td align=left heigt=25 width=400><input type="text" name="icq" size=8></TD></TR>      
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">E-Mail Adresse:</b></Font></TD>
        <td align=left heigt=25 width=400><input type="text" name="email" size=50></TD></TR>
<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial">Internet Speed:</b></Font></TD>
        <td align=left heigt=25 width=400><select name="speed">
                                                                          <option>28.8
                                                                          <option>33.6
                                                                          <option>56.6
                                                                          <option>ISDN
                                                                          <option>Besser
                                                                                                        </select></TD></TR>

<tr>
        <td align=right height=25 width=300> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial"><input type="button" name="knopf" value="Klar, bin dabei" onclick="neuesFenster()"></b></Font></TD>
        <td align=left heigt=25 width=400> <b>
        <font color=#FFFFFF face="Verdana,Tahoma,Arial"><div align=center><input type="button" name="knopf" value="Besser doch nicht" onclick="history.back()"></b></font></TD></TR>

</table></div>
</form>

</body>
</html>

Es wäre nett, wenn mir jemand helfen könnte.
Marc

  1. Moin,

    schon mal <../../sfausles/tsfa_tai.htm> gelesen ?

    Swen

  2. Hallo Marc,

    das kann auch nicht klappen ;-)

    Du lässt zwar ein neues Fenster erzeugen und die Daten aus dem
    alten Formular ausgeben, aber:

    Das Formular, dass in Deinem neuen Fenster erzeugt wird, ist LEER,
    es enthält, von den Absendebuttons abgesehen, _keine_ Form-Elemente.

    Abgesehen von der mailto-Problematik, kann es nur so gehen:

    1. Fenster öffnen
    2. Inhalt schreiben, wie in Deinem Beispiel,
       aber zusätzlich:

    ndoc.write("Hier nochmal eine Auflistung Deiner Angaben:<br>");
        ndoc.write("<FORM name='join' method='POST' action='mailtoHitman75@gmx.net'");
        ndoc.write("<input type='hidden' name='nickname' value='" + nickname + "'>"<br>");
        ndoc.write("<input type='hidden' name='realname' value='" + realname + "'>"<br>");ndoc.write("Alter: " + alter + "<br>");

    Der alert-Befehl bei OnClick ist nicht maskiert, wird also, wie Du
    sicher schon gemerkt hast ;-), erfolgreich ignoriert.

    Ich hatte mal ein ähnliches Problem umd hab es anders gelöst:

    Zwei Bereiche in der Datei, einen sichtbaren und einen versteckten.
    Wenn der User auf "absenden" geklickt hat, habe ich erst die Formular-
    angaben mit JavaScript ausgelesen und in den versteckten Bereich
    übernommen; zum dynamischen Austausch von Inhalten steht in SELFHTML
    eine ganze Menge.

    Wenn der Mensch ändern wollte, wurde einfach der Bereich mit dem
    "richtigen" Formular wieder angezeigt, wenn er absenden wollte, wurde
    das jetzt "unsichtbare" Formular abgeschickt.

    -------
    So, um die Mailto-Probleme zu umgehend:

    Bei http://www.formmailer.com gibt es einen sehr leicht
    konfigurierbaren Formmailer, wobei ich den von
    < http://www.homepageforum.de> fast für besser halte, weil man
    a) alle Angaben in der Datei selbst machen kann und b) Templates für
    die Bestätigungsseite und für das eMail-Layout unterstützt werden.

    -------
    Aber viel mehr Spass macht das alles mit PHP! Keine Angst, ich hab
    auch erst gedacht "Oh Gott", aber innerhalb von zwei Tagen hatte ich
    dann meine ersten Seiten stehen (fehlerfrei *fg*). Der mail()-Befehl
    in PHP ist einfach geil und man kann so wunderbar Daten erneut
    ausgeben lassen, ohne das ganze JavaScript-Gefummel :-)

    Ein gutes Tutorial findest Du unter
    [http://www.php3-forum.de] (incl. Beispiele),
    Webspace ohne Werbung, aber mit PHP-Unterstützung gibts u.a. bei
    [http://www.xodox.com] oder
    [http://www.saxen.net]

    Letztgenanntes sind nur Denkanstösse...

    Viele Grüsse & viel Spass
       Alex