menalie: Probleme mit Formularen

Hallo!

Erstmal - ich bin ein KOMPLETTER Neuling - und ich möchte ein Formular erstellen, dessen Daten dann per Mail eben an meine Adresse gesand werden.

Nachdem ich mich so gut wie GARNICHT auskenne, hab ich da mal was zusammengebastelt, das auch mehr oder weniger funktioniert.

Nun das Problem: Entweder, ich bekomme es mit dem <form action="..."> so hin, dass ich die Mail mit den Daten erhalte, aber ich werde nicht weitergeleitet - im Sinne von "Ihre Daten wurden übermittelt", oder ich schaffe es, dass ich auf diese Seite komme, aber die Mail erhalte ich nicht (sprich - keine Daten übermittelt).

Ich weiß, das Problem liegt ganz sicher an dem action=".." So viel hab ich mir schon rausgelesen. Aber mehr dazu hab ich leider nicht gefunden - ich hab auch schon umgesehen, aber überall wird dann immer nur erklärt, man soll action"mailto:blabla@bla.at" eingeben - oder was anderes...und da blick ich leider nicht ganz durch :(

Es wird sonst auch überall nur erklärt, wie man das mit dem target-Befehl macht, wenn man Frames hat - hab ich aber auf meiner Site nicht (http://members.chello.at/menalie/tanzen.html)

form method="POST" name="Tanzpartnervermittlung" action="mailto:melanie_steiner@gmx.at" enctype="text/plain">
          <!--webbot bot="SaveResults" S-Email-Format="TEXT/PRE" S-Email-Address="melanie_steiner@gmx.at" B-Email-Label-Fields="TRUE" B-Email-ReplyTo-From-Field="TRUE" S-Email-ReplyTo="Mailadresse" B-Email-Subject-From-Field="FALSE" S-Email-Subject="Tanzpartnervermittlung" S-Builtin-Fields U-Confirmation-Url="home.html" --><p align="left">
          <b>Name</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <!--webbot bot="Validation" s-data-type="String" b-allow-letters="TRUE" b-allow-whitespace="TRUE" -->
   <input type="text" name="Name" size="22" style="font-family: verdana; font-size: 10pt; color: #000000"></p>
          <p align="left"><b>Alter</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <!--webbot bot="Validation" s-data-type="Integer" s-number-separators="x" -->
   <input type="text" name="Alter" size="5" style="font-family: verdana; font-size: 10pt; color: #000000"></p>
          <p align="left"><b>Geschlecht</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <!--webbot bot="Validation" b-value-required="TRUE" -->
          <select size="1" name="Geschlecht" style="font-family: verdana; font-size: 10pt; color: #000000">
          <option>männlich</option>
          <option>weiblich</option>
          </select></p>
          <p align="left"><b>Tanzerfahrung</b>&nbsp;
          <select size="1" name="Tanzerfahrung" style="font-family: verdana; font-size: 10pt; color: #000000">
          <option>keine</option>
          <option>Anfängerkurs</option>
          <option>Fortgeschritten</option>
          <option>Silber</option>
          <option>Gold</option>
          <option>GoldStar</option>
          <option>leidenschaftlicher Freizeittänzer</option>
          </select></p>
          <p align="left"><b>Mailadresse</b>&nbsp;
          <input type="text" name="Mailadresse" size="32" style="font-family: Verdana; font-size: 10pt; color: #000000"></p>
          <p align="left"><b>Was für einen Tanzpartner suchen Sie? Spezielle
          Vorstellungen?</b></p>
          <p align="left">
          <textarea rows="9" name="Vorstellungen" cols="64" style="font-family: Verdana; font-size: 10pt"></textarea></p>
          <p>
   <input type="submit" value="Abschicken" name="B1" style="font-family: Verdana; font-size: 10pt"><input type="reset" value="Zurücksetzen" name="B2" style="font-family: verdana; font-size: 10pt; color: #000000"></p>
</form>

Auch wenn der Post lang ist - danke fürs Lesen :)

GLG Menalie

  1. Hallo,

    schau dir den Beitrag mal an: https://forum.selfhtml.org/?t=113691&m=722182
      Erkennst du da was?

    1. Hallo,

      schau dir den Beitrag mal an: https://forum.selfhtml.org/?t=113691&m=722182
        Erkennst du da was?

      Hm....was sollte ich erkennen *blindbin*

  2. Hallo

    Nun das Problem: Entweder, ich bekomme es mit dem <form action="..."> so hin, dass ich die Mail mit den Daten erhalte ...

    Genau so funktioniert das von dir verwandte <form action="mailto:bla@example.com">. Es wird, so vorhanden, das Standardemailprogramm geöffnet, und ihm die Daten des Formulars übergeben. Der Benutzer muss dann selbsttätig die Email versenden und das war's. Mehr passiert nicht.

    ... aber ich werde nicht weitergeleitet - im Sinne von "Ihre Daten wurden übermittelt"

    Warum auch? Dazu hast du nichts definiert.

    Ich weiß, das Problem liegt ganz sicher an dem action=".."

    Ja. Du kannst mittels <form action="mailto:bla@example.com"> versuchen, das Emailprogramm des Besuchers anzuwerfen, was übrigens fehlschlägt, wenn er keines hat, oder keines als Standardemailprogramm festgelegt hat, oder du übergibst die Daten per <form action="datei.endung" method="post"> (oder method="get") an ein serverseitiges Skript (Beispiele für Sprachen: PHP, Perl, Python, ASP).
    Dieses bereitet die übergebenen Daten auf (z.B. Emailversand und/oder Eintragung in eine Datenbank) und kann den Besucher hernach über Erfolg oder Misserfolg der Aktion informieren oder auch (wie von dir gewünscht) auf eine andere Seite weiterleiten.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1
    1. Hi!

      Danke für die Antwort. Problem läge dann aber nur darin, dass ich weder PHP, Perl, Python oder ASP kann.

      Trotzdem danke.

      Wollt dann aber nur noch sagen: Hab ne andere Lösung gefunden (bzw. ein Freund von mir), mit der es trotzdem geht, und zwar so, wie ich wollte :) auch mit meinem einfachen <form action"mailto:bla@bla.at">

      Und zwar musste ich bei dem Formular noch folgenden Eintrag hinzufügen:

      onSubmit="javascript:window.location.href='gesand.html'"

      bei meinem Quelltext würde das dann so aussehen:

      <form method="POST" name="Tanzpartnervermittlung" action="mailto:melanie_steiner@gmx.at" enctype="text/plain" target="_self" onSubmit="javascript:window.location.href='gesand.html'">

      <input type="submit" value="Abschicken" name="B1" style="font-family: Verdana; font-size: 10pt">

      <input type="reset" value="Zurücksetzen" name="B2" style="font-family: verdana; font-size: 10pt; color: #000000">

      </form>

      Trotzdem Danke :)

      GLG Melanie

      1. Hallo Melanie,

        Wollt dann aber nur noch sagen: Hab ne andere Lösung gefunden (bzw. ein Freund von mir), mit der es trotzdem geht, und zwar so, wie ich wollte :)

        ja, aber mit Einschränkungen, die ich dir noch kurz aufzeigen möchte.

        <form method="POST" name="Tanzpartnervermittlung" action="mailto:melanie_steiner@gmx.at" enctype="text/plain" target="_self" onSubmit="javascript:window.location.href='gesand.html'">

        Die Angabe target="_self" kannst du auch weglassen, denn das ist der Standardwert.
        Weglassen kannst du auch das "javascript:" im onsubmit-Eventhandler. Die Eventhandler sind immer Javascript-Anweisungen, deshalb ist die Angabe überflüssig - und sie wird hier sogar anders interpretiert. Nämlich als Label (Sprungziel). Das ist unnötig.

        <input type="submit" value="Abschicken" name="B1" style="font-family: Verdana; font-size: 10pt">

        Hier solltest du auf jeden Fall noch eine generische, d.h. allgemeine Schriftfamilie angeben für den Fall, dass Verdana nicht verfügbar ist. Also zum Beispiel "font-family: Verdana,Sans-Serif;". Außerdem ist es nicht sinnvoll, die Schriftgröße für die Bildschirmanzeige in pt anzugeben. Besser sind hier die Einheiten % oder em.

        <input type="reset" value="Zurücksetzen" name="B2" style="font-family: verdana; font-size: 10pt; color: #000000">

        siehe oben.

        So, nun zum eigentlichen Knackpunkt: Die Weiterleitung auf die Bestätigungsseite kann natürlich nur erfolgen, wenn der User Javascript aktiviert hat. Andernfalls bleibt einfach die Seite mit dem Formular stehen. Das ist in diesem Fall nicht so schlimm, aber du solltest grundsätzlich, wenn du Javascript einsetzt, auch daran denken, dass diese Technik nicht immer zur Verfügung steht.

        So long,

        Martin

        1. Hallo Martin!

          Vielen lieben Dank für die Antwort =)

          Werd schaun, dass ich das änder =)

          GLG
          Melanie