self: Email-Formular

Hallo,

meine CGI-Kenntnisse sind noch recht begrenzt. Ich hoffe, dass meine Fragen nicht zu trivial sind.

Folgendes Szenario:
Ich habe ein Formular programmiert, in welches der Benutzer einige Datei eingibt. Diese Daten sollen gesammelt und als Email versendet werden.
Zu diesem Zweck habe ich um meine Elemente (Input-Felder, Dropdown-Felder, Textareas) ein Form-Element mit einer POST-Aktion aufgebaut.

Dabei entstehen folgende Probleme:

  1. Wenn ich bei irgend einem Eingabefeld versehentlich die ENTER-Taste drücke, wird das CGI sofort ausgeführt und meien Daten übermittelt. Das soll aber erst geschehen, wenn der "Senden"-Button gedrückt wird.
  2. Der Text, welchen ich in meiner Textarea sammle, wird in der Email total unformatiert versendet. Das bedeutet, es gehen alle Zeilenumbrüche verloren, die ich vorher per Javascript mit "\n" erzeugt habe. Wie lässt sich das verhindern?

Vielen Dank für die Hilfe.

Anbei noch ein Auszug des verwendeten Codes:
_____________________________________________________________________
<form action="/cgi-bin/mailmanager.pl" method="POST" align="align">
....
<input id="Email" name="Email" size="26" type="text" tabindex="21"></td>
...
<textarea id="Anmerkungen" name="Anmerkungen" cols="59" rows="20" style="height:120px"  tabindex="22"></textarea>
<textarea id="text1" name="text1" cols="59" rows="30" style="height:200px;background-color:#e5d7b0" readonly wrap="off"></textarea>
....
<input name="Button1"  type="Button" value="Angebot anzeigen" style="width:130;height:30" onClick="Submit()" tabiondex="23">
...
<input name="Button1" type="Submit" value="Anfrage abschicken" style="width:170;height:30" onClick="Submit()" onKeyUp="Submit()" tabiondex="24">
<input name="subject"   type="hidden" value="Anfrage">
<input name="recipient" type="hidden" value="xxx@hotmail.de">
<input name="redirect"  type="hidden" value="...done.html">
....
</form>

  1. Hey,

    1. Wenn ich bei irgend einem Eingabefeld versehentlich die ENTER-Taste drücke, wird das CGI sofort ausgeführt und meien Daten übermittelt. Das soll aber erst geschehen, wenn der "Senden"-Button gedrückt wird.

    das ist kein Problem, sondern Works As Designed. Tatsächlich vertraut der Nutzer darauf, dass sich ein Formular mit Enter abschicken lässt. Wenn du da eingreifst, vermindert sich die Nutzbarkeit.
    Statt an Symptomen zu murksen, schau aufs Eigentliche und biete eine Bestätigungsseite in Verbindung mit einer Vorschau, die noch einmal die Gelegenheit zur Korrektur gibt.

    1. Der Text, welchen ich in meiner Textarea sammle, wird in der Email total unformatiert versendet. Das bedeutet, es gehen alle Zeilenumbrüche verloren, die ich vorher per Javascript mit "\n" erzeugt habe.

    Und kommen die Umbrüche auch beim Server an? Falls ja, macht die Emailerstellung Mist. Falls nein, hast du gar keine Umbrüche abgeschickt.

    --
    水-金-地-火-木-土-天-海-冥