Bei Eingabe die Werte in js-Variablen ablegen und dann php übergeben

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

  • Bei Eingabe die Werte in js-Variablen ablegen und dann php übergeben

    Hallo,

    folgende Problematik:
    In einem Form sollen bei fünf verscheidenen input-Feldern deren Werte bei der Eingabe durch den User in Variablen gespeichert werden.

    Nun hat der User noch einen Button in dem form, mit dem er zwischendurch, also vor dem submit des gesamten Forms, gucken kann, ob es in der Datenbank einen Inhalt gibt, der einem dieser 5 input-Feldern entspricht. Diese Zwischenprüfung soll in einem popup erfolgen.

    Code:
    <script type="text/javascript">
    
    function FensterOeffnen (Adresse) {
      MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=300,top=200");
      MeinFenster.focus();
    }
    
    <form action="index.php?ziel=kundenanzeige&amp;menu=neubrillendaten" method="post">
    <table>
    <tr>
    <td>Hersteller:</td>
    <td><input type="text" name="hersteller" id="hersteller"></input></td>
    </tr>
    <tr class="leerzeile"><td></td></tr>
    <tr>
    <td>Modell:</td>
    <td><input type="text" name="modell" id="modell"></input></td>
    </tr>
    <tr class="leerzeile"><td></td></tr>
    <tr>
    <td>Farbe:</td>
    <td><input type="text" name="farbe" id="farbe"></input></td>
    </tr>
    <tr class="leerzeile"><td></td></tr>
    <tr>
    <td>Dekor:</td>
    <td><input type="text" name="dekor" id="dekor"></input></td>
    </tr>
    <tr class="leerzeile"><td></td></tr>
    <tr>
    <td>Gr&ouml;&szlig;e:</td>
    <td><input type="text" name="groesse" id="groesse"></input></td>
    </tr>
    <td class='leerspalte'></td>
    <tr>
    <td><a href="/contents/lagerpruefung.php" onclick="FensterOeffnen(this.href); return false">Verf&uuml;gbar ?</a><td>
    </tr>
    </table>
    <div id="steuerung">
    <input class='button' type='submit' name='speichern' value='Speichern'></input>
    </div>
    </form>
    D.h. wenn man nun auf den verfügbar-Button klickt, soll ein popup aufgehen und das was in der lagerpruefung.php steht ausgeführt werden. Meine Frage ist nun, wie kriege ich die Variablen in diese Datei, um damit dann die Datenbank abfragen zu können.


    Danke und Gruß

    Michael
    Zuletzt geändert von fritzje610; 11.11.2008, 14:08.
    Gruß

    Michael

  • #2
    häng sie als get-parameter dran:
    PHP-Code:
    Adresse Adresse+'?bla='+blubb+'&blubb='+blubber;
    MeinFenster window.open(Adresse, ...): 
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Element auslesen http://de.selfhtml.org/javascript/objekte/elements.htm und an die Argumentvariable Adresse anhängen, erst dann Fenster erzeugen.

      Kommentar


      • #4
        Als GET-Variable habe ich die doch erst, wenn ich auf speichern geklickt habe. Gespeichert wird aber erst wenn noch weitere input's dazu gekommen sind.

        Gruß

        Michael
        Gruß

        Michael

        Kommentar


        • #5
          Original geschrieben von fritzje610
          Als GET-Variable habe ich die doch erst, wenn ich auf speichern geklickt habe.
          Höchstens als POST ... wer hindert dich denn daran sie per JS auszulesen und manuell anzuhängen bevor du das Fenster erzeugst?

          Kommentar


          • #6
            Eigentlich nichts. Problem ist nur wie ich das machen muss, dass die Werte auch in eine Variable kommen um diese dann anzuhängen.

            Klar, nach dem speichern habe ich sie höchstens als POST.
            Gruß

            Michael

            Kommentar


            • #7
              Original geschrieben von fritzje610
              Eigentlich nichts. Problem ist nur wie ich das machen muss, dass die Werte auch in eine Variable kommen um diese dann anzuhängen.
              Liest du auch meine 1. Antwort? Das ist nur ein von mehreren Wegen. mit z.B. document.getElementById oder document.getElementsByName kommst du auch ans Ziel (nur etwas langsamer).

              Kommentar


              • #8
                gib deinem fomular einen namen oder eine id, dann kannst du auch per js auf die feldinhalte zugreifen.

                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Code:
                  <script type="text/javascript">
                             
                  var hersteller = document.getElementsByID("hersteller");
                  var modell = document.getElementsByID("modell");
                  var farbe = document.getElementsByID("farbe");
                  var dekor = document.getElementsByID("dekor");
                  var groesse = document.getElementsByID("groesse");
                    
                  function FensterOeffnen (Adresse)
                   {
                    Adresse = Adresse+'?hersteller='+hersteller+'&modell='+modell+'&farbe='+farbe+'&dekor='+dekor+'&groesse='+groesse;
                    MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=300,top=200");
                    MeinFenster.focus();
                  }
                  
                  </script>
                  Ich hab das so an das Ende der Date eingefügt. Gedanke dabei war, das muss an das Ende, damit er den Inhalt der input's kennt.
                  Das Fenster popt auch auf und es werde auch 5 Variablenwerte angezeigt. Allerdings steht in allen als Wert undefined drin.

                  Inhalt der lagerpruefung.php:
                  PHP-Code:
                  <?php
                  echo $_GET['hersteller'] . "<br />";
                  echo 
                  $_GET['modell'] . "<br />";
                  echo 
                  $_GET['farbe'] . "<br />";
                  echo 
                  $_GET['dekor'] . "<br />";
                  echo 
                  $_GET['groesse'];
                  ?>
                  Gruß

                  Michael

                  Kommentar


                  • #10
                    Nein, du musst in der JS-Funktion auslesen, denn wenn du so machst, hat der User nocht nichts eingegeben, daher gibt's auch nichts zum Übertragen.

                    Kommentar


                    • #11
                      außerdem heisst es:
                      PHP-Code:
                      var hersteller document.getElementByID("hersteller").value
                      und getElementsByID gibt es nicht.

                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        Wenn ich die Funktion so mache, wird das undefined zu u.g. Notice.
                        Ausserdem öffnet das Fenster nicht in der angegebenen Größe sondern als Vollbild.

                        Code:
                        <div id="steuerung">
                        <input class='button' type='submit' name='speichern' value='Speichern'></input>
                        </div>
                        </form>
                            
                                       
                        <script type="text/javascript">
                        
                        function FensterOeffnen (Adresse)
                        {
                        	var hersteller = document.getElementByID("hersteller").value;
                        	var modell = document.getElementByID("modell").value;
                        	var farbe = document.getElementByID("farbe").value;
                        	var dekor = document.getElementByID("dekor").value;
                        	var groesse = document.getElementByID("groesse").value;
                        	
                        
                        	Adresse = Adresse+'?hersteller='+hersteller+'&modell='+modell+'&farbe='+farbe+'&dekor='+dekor+'&groesse='+groesse;
                        	MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=300,top=200");
                        	MeinFenster.focus();
                        }
                        
                        </script>
                        Notice: Undefined index: hersteller in C:\xampp\htdocs\contents\lagerpruefung.php on line 2


                        Notice: Undefined index: modell in C:\xampp\htdocs\contents\lagerpruefung.php on line 3


                        Notice: Undefined index: farbe in C:\xampp\htdocs\contents\lagerpruefung.php on line 4


                        Notice: Undefined index: dekor in C:\xampp\htdocs\contents\lagerpruefung.php on line 5


                        Notice: Undefined index: groesse in C:\xampp\htdocs\contents\lagerpruefung.php on line 6
                        Gruß

                        Michael

                        Kommentar


                        • #13
                          dann prüfe halt mit isset.

                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar


                          • #14
                            Also, wenn ich die Funktion so setze

                            [CODE]
                            <script type="text/javascript">

                            var hersteller = document.getElementByID("hersteller").value;
                            var modell = document.getElementByID("modell").value;
                            var farbe = document.getElementByID("farbe").value;
                            var dekor = document.getElementByID("dekor").value;
                            var groesse = document.getElementByID("groesse").value;

                            function FensterOeffnen (Adresse)
                            {
                            Adresse = Adresse+'?hersteller='+hersteller+'&modell='+modell+'&farbe='+farbe+'&dekor='+dekor+'&groesse='+groe sse;
                            MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=300,top=200");
                            MeinFenster.focus();
                            }

                            Ist die Variable im PHP gesetzt, ein $gesetzt = isset($_GET['hersteller']); echo $gesetzt;
                            ergibt als Ergebnis eine 1. Somit kommt die Varaibel an, allerdings als Inhalt undefined.



                            Mach ich das Ganze so,
                            Code:
                            <script type="text/javascript">
                            	
                            function FensterOeffnen (Adresse)
                            {
                            var hersteller = document.getElementByID("hersteller").value;
                            var modell = document.getElementByID("modell").value;
                            var farbe = document.getElementByID("farbe").value;
                            var dekor = document.getElementByID("dekor").value;
                            var groesse = document.getElementByID("groesse").value;
                            
                            Adresse = Adresse+'?hersteller='+hersteller+'&modell='+modell+'&farbe='+farbe+'&dekor='+dekor+'&groesse='+groesse;
                            	MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=300,top=200");
                            	MeinFenster.focus();
                            }
                            
                            </script>
                            kriege ich als Ergebnis nur einen weiße Anzeige. Heisst, die Variable kommt nicht an und deren Inhalt auch nit.

                            Bloß warum ist das so?
                            Gruß

                            Michael

                            Kommentar


                            • #15
                              hast du geprüft was in Adresse steht?
                              "I don't want to belong to any club that would accept me as a member."

                              Groucho Marx

                              Kommentar

                              Lädt...
                              X