Ankündigung

Einklappen
Keine Ankündigung bisher.

Formulare und "window.open()"

Einklappen

Neue Werbung 2019

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

  • Formulare und "window.open()"

    Einen wunderschönen guten Tag,
    ich frage mich gerade, wie ich ein Formular auswerten kann und über "window.open" in einer anderen html verwenden kann. In PHP wäre es kein Problem aber es muss JavaScript sein (Anweisung vom Lehrer)

    Das Problem im Detail:

    Ich muss ein Pizzalieferservice-Formular schreiben, wo man über Pizzamenüs mit Cola und Pizza zusammen stellen kann. Dann soll man sich die Bestellten Sachen über einen Button ("Ansicht") ansehen und einen Button ("Bestellen") bestellen können (jeweils über "window.open()". Jetzt stellt sich für mich nur die Frage, wie schaff ich es den Kontent in die Popup Fenstern einzubinden... gibt es auch eine Lösung mit Platzhaltern, wie in PHP? Und wie kann ich das Formular erstmal an die jeweiligen Popup-Fenster (html-Dateien) schicken???

    Vielen Dank
    Skyscraper


  • #2
    Anweisung vom Lehrer
    ...und im Unterricht statt zuzuhören, irgendein egosgooter gespielt? tztztz

    w = window.open(...)
    w ist Deine Referenz auf das neue Fenster. Es geht also zB w.document.getElementById(), dazu muss das Dokument natürlich erstmal geladen sein.

    In die umgekehrte Richtung steht Dir das "Objekt" opener zur Verfügung. Wurde ein Fenster per window.open erzeugt, zeigt opener auf das Fensterobjekt des "Erzeugers". Solange dieses Fenser noch offen ist, funktioniert also zB opener.document.getElementById()

    Kommentar


    • #3
      danke ich werd das gleich mal ausprobieren, aber deine Unterstellung ist nicht ganz berechtigt, sowas wird heute als Projekt bezeichnet und man soll sich alles selber zusammensuchen... Zeitverschwendung bin ich der Meinung und ich lern da lieber Sachen, die Sinnvoller sind als JavaScript... z.B. Egoshooter

      Kommentar


      • #4
        Nochmal vielen Dank für den Tipp, aber es funktioniert alles nicht.
        kann mir vielleicht jemand anhand dieses Bsp. erklären wo der Fehler liegt?

        PHP-Code:
        <script>
        var 
        getraenk 'cola';
        window.open('muh.html').document.getElementById(##platzhalter1##) = getraenk;
        </script> 

        Thx Skyscraper

        Kommentar


        • #5
          Erstmal ist es übersichtlicher du verwendest das hier:

          PHP-Code:
          myWindow window.open("muh.html");
          myWindow.getElementById(PLATZHALTER) = getraenk 
          Allerdings ergibt es keine Sinn, einem Objekt (dem Element mit der Id PLATZHALTER) einen String zuzuweisen.

          Was willst du überhaupt machen?

          Kommentar


          • #6
            ich will in ein neu geöffnetes Window (window.open()) zuvor in einem Formular eingefügte Informationen via Platzhalter in das Window einsetzen

            siehe:
            http://lukeskyscraper.lu.funpic.de/schule

            ich bräuchte ein Beispiel wie das mit JS funzt

            Skyscraper

            Kommentar


            • #7
              Opener:
              PHP-Code:
              ..
              <
              script>
              myWindow window.open("window.html");

              function 
              GetVars() {
                 return 
              document.forms[0];
              }
              </script>
              .. 
              window.html:
              PHP-Code:
              ..
              <
              script>
              function 
              GetVarsFromOpener() {
                var 
              formObject opener.GetVars();
                
              // nun kannste mit formObject.elements[0].value auf den Inhalt des ersten <input>-Tags des openers zugreifen
              }
              </script>
              </head>
              <body onLoad="GetVarsFromOpener()">
              .. 

              Das sollte langen, mehr Hilfe gibts von mir nicht

              Kommentar


              • #8
                Ja soweit geht das ja auch aber wie ersetze ich jetzt Platzhalter durch die Werte, die ich über das Form bekommen habe?

                Kommentar


                • #9
                  Hast Du Dir das Beispiel durchgelesen und versucht es zu verstehen?

                  Wo ist dann Dein Problem, was meinst du sollte dieser Kommentar?
                  Zitat von Zergling
                  // nun kannste mit formObject.elements[0].value auf den Inhalt des ersten <input>-Tags des openers zugreifen
                  Also, mit opener und myWindow [siehe erstes Beispiel] sollte das doch funktionieren. :wink:

                  Kommentar


                  • #10
                    PHP-Code:
                    function GetVarsFromOpener()
                    {
                     var 
                    formObjectForm opener.GetVars();
                     var 
                    getraenkForm formObject.elements[0].value;
                     var 
                    pastaForm formObject.elements[1].value;
                     var 
                    pizzaForm formObject.elements[2].value;
                     var 
                    eisForm formObject.elements[3].value;
                     var 
                    sofortForm formObject.elements[4].value;
                     var 
                    zeitForm formObject.elements[5].value;
                     
                    myWindow.getElementById(PLATZHALTER).value getraenkForm;

                    ?> 
                    Und dieser Code funktioniert nicht... ich habe keine Ahnung von diesem ganzen Objektverknüpfe... tut mir leid, das kenn ich nicht und damit versteh ich das nicht, aber es würde mir helfen wenn mir jemand diesen Code richtig schreibt, dann könnte ich das vielleicht verstehen

                    danke
                    Skyscraper

                    Kommentar


                    • #11
                      PHP-Code:
                            <script type="text/javascript">
                            <!--
                            function 
                      produktInGeld(zutat)
                            {
                             var 
                      zutat;
                             var 
                      zutatPreis 0;
                             
                             if (
                      zutat == "leer")
                             {
                              
                      zutatPreis 0;
                             }
                             if (
                      zutat == "schlecht")
                             {
                              
                      zutatPreis 1;
                             }
                             if (
                      zutat == "mittel")
                             {
                              
                      zutatPreis 2;
                             }
                             if (
                      zutat == "gut")
                             {
                              
                      zutatPreis 3;
                             }
                             
                             return 
                      zutatPreis;
                            }
                            
                            
                            function 
                      GetVarsFromOpener()
                            {
                             var 
                      formObject opener.GetVars();
                             var 
                      getraenkForm formObject.elements[0].value;
                             var 
                      pastaForm formObject.elements[1].value;
                             var 
                      pizzaForm formObject.elements[2].value;
                             var 
                      eisForm formObject.elements[3].value;
                             var 
                      sofortForm formObject.elements[4].value;
                             var 
                      zeitForm formObject.elements[5].value;
                             var 
                      anzahlGetraenk 0;
                             var 
                      rabatte "nix";
                             var 
                      gesamt "0"
                             
                      document.write("Getränk: " getraenkForm " Preis: " produktInGeld(getraenkForm) + " Euro
                      "
                      );
                             
                      document.write("Pasta: " pastaForm " Preis: " produktInGeld(pastaForm) + " Euro
                      "
                      );
                             
                      document.write("Pizza: " pizzaForm " Preis: " produktInGeld(pizzaForm) + " Euro
                      "
                      );
                             
                      document.write("Eis: " eisForm " Preis: " produktInGeld(eisForm) + " Euro
                      "
                      );
                             
                      document.write("Sofort: " sofortForm "
                      "
                      );
                             
                      document.write("Uhrzeit: " zeitForm  "
                      "
                      );
                             
                      document.write("Rabatte: " rabatte  "
                      "
                      );
                             
                      document.write("-------------------------
                      "
                      );
                             
                      document.write("Gesamtkosten: " gesamt " Euro");
                            }
                            
                      //-->
                            
                      </script>
                            <noscript>Ihr Browser unterstützt kein JavaScript!</noscript>
                            <title>Einkaufsliste</title>
                            <meta name="generator" content="Webweaver v1.6.7 [http://webweaver.ws]" />
                      </head>
                      <body onload="GetVarsFromOpener()">
                      </body>
                      </html> 
                      Also ich bin jetzt soweit, dass das Fenster geöffnet wird und der Inhalt teilweise angezeigt wird, aber wieso nur teilweise? Außerdem zeigt jeder Browser was anderes an sei es Opera, IE oder Firefox

                      büdde helft mir nochmal

                      Kommentar

                      Lädt...
                      X