:-) Armin : Formular an eine im Formular ausgewaehlte Adresse schicken.

Tach zusammen,

wie kann ich ein HTML Formular das ein Auswahlfeld mit mehreren Emailadressen an die vom Besucher ausgewaehlte Emailadresse schicken.

Das ganze sollte wenn moeglich ohne CGI zu machen sein.

Meinen Ansatz dem Action Tag des Formulars per JavaScript die Adresse zu uebergeben seht Ihr weiter unten. Ein Versand kommt so zustande leider weiss ich aber nicht wohin :-)

Kann mir deshalb jemand sagen was ich falsch mache oder ob ich total auf dem Holzweg bin und es so einfach nicht geht.

Danke im voraus !!!

:-) Armin

---------------------------------------------------------------------
<form name="Formular" action="mailto:this.form.Adresse.options[this.form.Adresse.options.selectedIndex].value);"  method="post" enctype="text/plain">
 <center>
 <!--- input type=text size=40 name="User">
 <select name="Adresse" size=5>
  <option selected value='Empfaenger1@mailserver.com'> Buchhaltung
  <option          value='Empfaenger2@mailserver.com'> Lager
 </select>
 <input type=submit value="Absenden">
 <input type=reset  value="Loeschen">
 <input type=button value="Wert" onClick="if(this.form.Adresse.options[this.form.Adresse.options.selectedIndex].value != '') alert('Der ausgewaehlte Eintrag hat intern den Absendewert: ' +this.form.Adresse.options[this.form.Adresse.options.selectedIndex].value)">
 </center>
</form>
---------------------------------------------------------------------

  1. Hi,

    <form name="Formular" action="mailto:this.form.Adresse.options[this.form.Adresse.options.selectedIndex].value);"  method="post" enctype="text/plain">

    argh! Erstens möchtest Du http://www.praast.de/ffq/mailto.htm lesen, und zweitens ist die von Dir angegebene eMail-Adresse ungültig ;-)

    Willkürlich HTML und JavaScript zu verbinden funktioniert nicht. Du müßtest die action dynamisch z.B. onSubmit schreiben, was aber nicht in allen Browsern geht - und schon gar nicht, wenn JavaScript deaktiviert oder unbekannt ist. Das Problem erledigt sich aber bereits dadurch, daß Du kein mailto-Formular verwenden möchtest - serverseitige Formmailer haben üblicherweise einen (aus Deiner Sicht) trivialen Mechanismus zur Wahl der Zieladresse.

    Cheatah

    1. Tach Cheatah,

      Danke fuer Deinen Tip ich werde das mal durchforsten.

      Ich habe auch schon mehrere HTML u. JavaScript Mixformen versucht.

      Z.B action=javascript:this.form.blabla
               Dabei war dann die Rueckgabe mailto:Empfaenger1@...
          action=javascript:return this.form.blabla
      usw.

      Wenn ich nun mit OnSubmit() arbeite stehe ich aber wieder vor dem eigentlichen Problem.

      Wie wird dann die Adresse dem action Tag zugewiesen ???

      Was die emailadresse betrifft befinden wir uns gerade in einer Umstellungsphase deshalb kann es vorkommen das sie nicht funktioniert, ich habe jetzt aber eine alternative Adresse angegeben.

      :-) Armin

      1. Grüssi,

        Z.B action=javascript:this.form.blabla
                 Dabei war dann die Rueckgabe mailto:Empfaenger1@...
            action=javascript:return this.form.blabla
        usw.

        Dein Formular heisst doch "Formular" und nicht "form" oder?

        Wenn ich nun mit OnSubmit() arbeite stehe ich aber wieder vor dem eigentlichen Problem.
        Wie wird dann die Adresse dem action Tag zugewiesen ???

        <form [...]
           action=""
           onSubmit="return SetAction(this.Formular.Adresse.options[this.Formular.Adresse.options.selectedIndex])">

        function SetAction (email_adresse) {
           if ( !is_empty(email_adresse.value) ) {
              document.Formular.action = "mailto:"+email_adresse.value;
              return true;
           } else return false;
        }

        lg bernhard

        1. Ach ja, bevor ich von Cheatah wieder Schimpfe bekomme, dich nicht darauf hingewiesen zu haben: Machs lieber mit (serverseitigem) CGI. ein Formular über mailto: wird in ca. 1% der Fälle korrekt abgeschickt, in 80% der Fälle macht sich der Outook auf, und der Inhalt des Formulars liegt irgendwo neben Winnetou in den ewigen Jagdgründen, und in den restlichen 19% hat jemand einen anderen Mailclient als Standard ;-)

          Mit CGI (Perl, Php, ... ) wird das Formular 99%ig - so wie es sein sollte, inkl. aller Inhalte - abgeschickt :)

          lg bernhard

          1. Hi,

            Ach ja, bevor ich von Cheatah wieder Schimpfe bekomme,

            *g*

            ein Formular über mailto: wird in ca. 1% der Fälle korrekt abgeschickt, in 80% der Fälle macht sich der Outook auf, und der Inhalt des Formulars liegt irgendwo neben Winnetou in den ewigen Jagdgründen, und in den restlichen 19% hat jemand einen anderen Mailclient als Standard ;-)

            Naja, ein paar Prozent mehr dürften schon erfolgreich sein. Es kann aber einfach viel zu viel schief gehen:

            • Der Mailer erhält nicht alle Daten.
            • Der Mailer erhält _keine_ Daten.
            • Der Mailer verschickt diese fehlenden Daten kommentarlos.
            • Der Mailer verschickt korrekte Daten als irgendein Attachment.
            • Isch 'abe garrr kein Mailer, Senorita.
            • Ein Internet-Anschluß ist übrigens nicht zwangsläufig ein eMail-Anschluß.
            • usw.

            Dazu kommen massenweise andere Probleme; z.B. die Auswahl der Zieladresse, Bestätigungs- oder gar Fehlerseite, Formatierung der Mail... überhaupt hat man keinerlei Kontrolle über das, was da eigentlich passiert.

            Mit CGI (Perl, Php, ... ) wird das Formular 99%ig - so wie es sein sollte, inkl. aller Inhalte - abgeschickt :)

            Zu 100% sogar. Fehlerfälle sind höchstens eine abgebrochene Internet-Verbindung, fehlerhafte Scripts usw.; also Dinge, die man entweder beeinflussen kann (eigene Schuld), oder aber die bei jeder verwendeten Methode auftreten können. Bei mailto-Formularen hat man nicht den geringsten Einfluß darauf, ob bzw. wie es funktioniert.

            Cheatah

        2. Tach Bernhard, Cheatah,

          gerade wollte ich Cheatah mitteilen wie ich mein Problem geloest habe da sehe ich Bernhard's posting. Haette ich nur nochmal frueher nachgesehen dann wuerde mein Schaedel jetzt nicht so brummen.

          Form = jetzt folgende
          <form ... action="mailto:default@mail.com: ....

          Die Form hat jetzt folgendes Auswahlfeld.

          <select name="Adresse" size="10" onChange="SetFormAction()">
            <option selected empfaenger1@mail.com'> Empfaenger1
            <option          empfaenger2@mail.com'> Empfaenger2

          die Funktion aendert den Action Tag je nachdem welcher Empfaenger
          ausgewaehlt wird.

          function SetFormAction()
            {
              document.Formular.action=document.Formular.Adresse.options[document.Formular.Adresse.options.selectedIndex].value
            }

          Ich stimme zu das die Loesung mit CGI noch sicherer und auch eleganter ist. Aber beim derzeitegen Stand des Projektes zu aufwendig. Wenn das Formular steht wird es sowieso in eine Datenbank geschrieben und nicht mehr per email verschickt.

          Vielen Dank fuer eure schnelle Hilfe !!!!!

          :-) Armin

          PS: Hajo viele Gruesse auch an Maria ! :-)

          1. Hi,

            die Funktion aendert den Action Tag je nachdem welcher Empfaenger
            ausgewaehlt wird.

            "Nein, tut sie nicht. Mein Firmennetz-Administrator erlaubt mir nicht, daß ich JavaScript anschalte."
            "Nein, tut sie nicht. In der Computer-Bild stand, daß JavaScript gefährlich ist. Sogar Bundesämter warnen davor!"
            "Nein, tut sie nicht. Bei mir ist JavaScript aus, und ich habe keine Ahnung, wie man das ändert."
            "Nein, tut sie nicht. Der Browser, der mit meiner Internet-Zugangs-Software installiert wurde, erlaubt mir nicht, JavaScript zu konfigurieren."
            "Nein, tut sie nicht. Ich schalte JavaScript aus Prinzip nicht an, weil es viel zu nervig ist mit all den Popups und so, die dann ständig aufspringen."
            "Nein, tut sie nicht. Mein Browser kann gar kein JavaScript."
            "Nein, tut sie nicht. Ich bin sehbehindert und benutze daher einen älteren Browser, bei dem das nicht funktioniert, obwohl JavaScript an ist."
            ...

            Ich stimme zu das die Loesung mit CGI noch sicherer und auch eleganter ist.

            Und vor allem funktioniert ;-)

            Aber beim derzeitegen Stand des Projektes zu aufwendig.

            Es gibt kostenlose Formmailer-Dienste, die oft recht komfortabel zu nutzen sind. Ich habe leider keine URL zur Hand, seit formmailer.com kostenpflichtig geworden ist...

            PS: Hajo viele Gruesse auch an Maria ! :-)

            Danke, werde ich ausrichten! *g* Kennst Du sie persönlich, oder nur von meiner Homepage? ;-)

            Cheatah

            1. Hi Cheatah,

              Deine Bedenken zu JavaScript sind mir durchaus bewusst aber wenn sich jemand auf meiner Website zu meinem neuen Formular durchgeklickt hat dann hat er mit Sicherheit keine Probleme mit JavaScript Einstellungen seines Browsers da ich ein auf JavaScript basierendes Menu einsetze.

              Was ist eigentlich die Alternative zu JavaScript ?

              Leider kann (darf) ich kommerzielle Maildienste nicht einsetzen. Denn wenn der sicherheitsbewusste Surfer/Webmaster schon kein JavaScript einschaltet/einsetzt wie soll er dann einem Maildienst trauen von dem er ausser der URL nicht die geringste Information besitzt. Macht der nicht heimlich eine Kopie meiner Mails und erpresst mich dann damit meiner Frau zu sagen das ich eine Maria gruessen lies ?

              Uebrigens Maria kenne ich von Deiner Homepage ;-) Dennoch waren die Gruesse durchaus ernst gemeint :-)

              So Long
              :-) Armin

              1. Hi,

                wenn sich jemand auf meiner Website zu meinem neuen Formular durchgeklickt hat dann hat er mit Sicherheit keine Probleme mit JavaScript Einstellungen seines Browsers da ich ein auf JavaScript basierendes Menu einsetze.

                das heißt, Du sperrst ca. ein Fünftel Deiner potentiellen Besucher gleich am Anfang aus, und läßt ihnen nicht mal die Möglichkeit, über diesen krassen Konzeptfehler zu meckern?

                Was ist eigentlich die Alternative zu JavaScript ?

                Kein JavaScript natürlich.

                JavaScript ist eine Ergänzung, um die bestehenden Funktionen bequemer zu gestalten. Niemals, nie nie nie, auf gar keinen Fall, unter keinen Umständen,
                       _                      _
                 _ __ (_) ___ _ __ ___   __ _| |___
                | '_ | |/ _ \ '_ \_ \ / \_ | / __|
                | | | | |  __/ | | | | | (_| | \_ \ |_| |_|_|\__|_| |_| |_|\__,_|_|___/

                sollte man die Funktionalität von was auch immer von einer clientseitigen Technik abhängig machen!

                Leider kann (darf) ich kommerzielle Maildienste nicht einsetzen.

                Nimm unkommerzielle.

                Denn wenn der sicherheitsbewusste Surfer/Webmaster schon kein JavaScript einschaltet/einsetzt wie soll er dann einem Maildienst trauen

                Falsche Schlußfolgerung. Es geht nicht um Paranoia, sondern um eine deaktivierte Technik, mit der Schindluder betrieben werden kann/könnte, oder die schlicht und einfach nicht vorhanden ist.

                Uebrigens Maria kenne ich von Deiner Homepage ;-) Dennoch waren die Gruesse durchaus ernst gemeint :-)

                Sie hat sich gefreut (nachdem ihre anfängliche Verwirrung nachlies) und läßt zurückgrüßen :-)

                Cheatah