Ankündigung

Einklappen
Keine Ankündigung bisher.

Bestellformular

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bestellformular

    Hi Leute also ich stehe vor folgendem Problem:

    Ich entwerfe ein Bestellformular bei dem der Kunde seine Adresse und eine zweite Adresse angibt, mit diesen daten muss dann eine javascript funktion aufgerufen werden.

    Das formular an sich funktioniert tadellos, es verschickt eine bestätigungsmail und eine auftragsmail mit allen daten.

    Leider komme ich ja nicht sofort an die angaben ran während sie eingegeben werden oder etwa doch?
    Muss ich das dann in 2 schritten machen und wenn ja, wie sieht dann der aufbau des formulars aus? Muss ich dann nur hier etwas ändern:
    Code:
    <form action='<? echo $PHP_SELF; ?>' method='post'
    				accept-charset="ISO-8859-1" enctype='multipart/form-data' name='form'
    				id="form">
    oder auch an anderen stellen??

    Was auch ganz wichtig ist:
    In dem JS-Teil wird eine Variable errechnet, die mit in die Mail muss, also muss ich sie auch in eine PHP Variable umwandeln, dafür habe ich auch schon sämtliche Foren durchforstet aber nichts passendes gefunden

  • #2
    Die Kombination Formular und JavaScript sind schon Käse. JavaScript kannst du nehmen, um irgend etwas zu erleichtern/verschönern, aber funktional sollte alles auch ohne JS funktionieren.

    Du könntest mit JS versteckte Felder befüllen.

    Kommentar


    • #3
      am besten du rufst die javascript funktion dazu dann mit der onclick="js-funktion" beim Submit-Button auf - der Vorteil wäre , dass der User den Button eh anklickt, das FOrmular ausgefüllt ist - js also alle Daten bekommt - es muss nur seine Variable mitsenden
      "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

      Kommentar


      • #4
        Was willst du während der Eingabe denn machen?

        http://de.selfhtml.org/javascript/sp...enthandler.htm

        Sollte alles beinhalten was du brauchst.

        Und dies um verstecke Werte zu übergeben:

        http://de.selfhtml.org/html/formulare/versteckte.htm
        "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

        Kommentar


        • #5
          Zitat von eagle275 Beitrag anzeigen
          am besten du rufst die javascript funktion dazu dann mit der onclick="js-funktion" beim Submit-Button auf
          Besser wäre
          Code:
          <form action="..." method="post" onsubmit="....">
          Wer sagt, dass ich den Button klicke, ein Return in einem Eingabefeld reicht auch

          Kommentar


          • #6
            Auch wenn dein Javascript signalisiert, dass das Formular korrekt ausgefüllt wurde, so musst du die Plausibilitätsprüfungen dennoch noch einmal in PHP durchführen - es ist ja nicht gesichert, dass die empfangenen Daten überhaupt aus deinem Formular stammen.

            $PHP_SELF soll was bedeuten?
            [PHP]if ($var != 0) {
            $var = 0;
            }[/PHP]

            Kommentar


            • #7
              Also es ist ein bisschen kompliziert, es muss mit den angegebenen daten "straße,hn,plz,ort" via google maps <<< hier liegt das problem, das geht nur mit js den Preis bestimmen.
              Beides einzeln funktioniert schon, nur beim zusammenfügen tauchen probleme auf.
              Die Preisvariable ist dann eine JS Variable, vielleicht hilft das weiter das Gesamtproblem besser zu verstehen

              Was noch ganz wichtig wäre, man muss den Preis berechnen und anzeigen können, ohne dass man dann gleich die Bestellung angibt, sonst wäre das ja Wucher

              MfG

              Kommentar


              • #8
                Tja, dann
                Code:
                <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" onsubmit="return deineFunktion()">
                <input type="hidden" name ="preis">
                In der JS-Funktion ermittelst du den Preis und setzt diesen in das hidden-Feld

                Kommentar


                • #9
                  wieso sollte das nicht php auch können ?
                  "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                  Kommentar


                  • #10
                    Ich tippe mal, Broox hat eine JS-API zu google-Maps im Einsatz

                    Kommentar


                    • #11
                      Ich komm ja nichtma dazu den Preis zu ermitteln, da die Variablen ja erst werte zugewiesen bekommen sobald der Benutzer die Bestellung abschickt, somit fehlen mir angaben wie str,hn,plz,ort und deswegen funzt die JS funktion nicht....

                      "Ich tippe mal, Broox hat eine JS-API zu google-Maps im Einsatz" <- Jepp

                      Kommentar


                      • #12
                        aba sicher .. JS kann direkt auf die Elemente deines Formulars (= Webseite ) zugreifen - schau dir dazu mal DOM an, dann hangelst du dich mit getElementbyID (schreibweise kann abweichen) durch dein Dokument und holst dir jeweils den VALUE direkt aus den Eingabefeldern ...

                        alles was du dann noch brauchst sind die id="xyz" Einträge bei den <input type=.. - Elementen .. dann kann Javascript dieses input-Feld über seine ID finden
                        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                        Kommentar


                        • #13
                          Ein Beispiel zur Erklärung von eagle275

                          http://de.selfhtml.org/javascript/be...areingaben.htm

                          Kommentar


                          • #14
                            Ich tippe mal, es geht viel mehr darum, dass er mit PhP nach dem absenden der Bestellung auf seinem bisherigen weg dem User ohne JS nicht erst noch den Gesamtpreis anzeigen kann.
                            Dies könntest Du umgehen, wenn Du erst noch eine Zusammenfassung anzeigen würdest. Damit könntest Du dem User auch ohne JS anzeigen was ihn der Spaß kostet und gleichzeitig kannst Du die Werte noch einmal Serverseitig überprüfen, was ohnehin notwendig ist, da JS Clientseitig ausgeführt wird, und Du keine Ahnung hast, ob die Daten nicht manipuliert sind.

                            Kommentar


                            • #15
                              Zitat von RustyXXL Beitrag anzeigen
                              Ich tippe mal, es geht viel mehr darum, dass er mit PhP nach dem absenden der Bestellung auf seinem bisherigen weg dem User ohne JS nicht erst noch den Gesamtpreis anzeigen kann.
                              Dies könntest Du umgehen, wenn Du erst noch eine Zusammenfassung anzeigen würdest. Damit könntest Du dem User auch ohne JS anzeigen was ihn der Spaß kostet und gleichzeitig kannst Du die Werte noch einmal Serverseitig überprüfen, was ohnehin notwendig ist, da JS Clientseitig ausgeführt wird, und Du keine Ahnung hast, ob die Daten nicht manipuliert sind.
                              Und wie genau soll das ohne JS gehen wenn google maps mit JS implementiert ist???

                              So schaut eine Zeile aus meinem Formular aus:

                              <input name="strasse" type="text" id="strasse" size="20"
                              value='<?php echo $strasse; ?>'>

                              und so starte ich den funktionierenden preisrechner:

                              <form action="#" onsubmit="setDirections(this.from.value, this.to.value, this.locale.value);setTimeout('distance()',500); return false">

                              das "this.from.value" ergibt sich aus :

                              <input type="text" size="25" id="fromAddress" name="from"
                              value=""/>

                              ich habe deswegen folgendes versucht:

                              ich habe mir eine neue funktion makedir geschrieben die so ausschaut:

                              function makedir(fstr,fhn,fort,astr,ahn,aort,loc) {
                              var fadd = fstr + fhn + fort;
                              var tadd = astr + ahn + aort;
                              setDirections(fadd,tadd,loc);
                              }

                              und versuche das dann so aufzurufen:

                              <form action="#" onsubmit="makedir(this.strasse.value, this.hn.value, this.ort.value, this.astrasse.value, this.ahn.value, this.aort.value, this.locale.value);setTimeout('distance()',10000); return false">

                              Leider klappt das nicht, hat jemand eine idee wieso???

                              Kommentar

                              Lädt...
                              X