centauro: variable mit javascript in popup abfangen

Hallo Forum,

es ist sicherlich ein kleines und einfaches Problemchen für Javascriptler.

Mein Problem:

Ich habe eine Website über die ich ein popup öffne.
Beim Öffnen dieses popups wird eine Variable mit einem Wert übergeben.

Im Popup möchte ich nun genau diesen Wert abfangen.

Gedacht hatte ich mir das folgendermassen:

mein_Wert = self.opener.uebergebene_variable;

Leider habe ich so bisher kein Glück damit gehabt.

Kann mir jemand bitte einen Tip geben?

Besten Dank!

Centauro

  1. Gedacht hatte ich mir das folgendermassen:

    mein_Wert = self.opener.uebergebene_variable;

    Ja, so sollte es gehen.

    Leider habe ich so bisher kein Glück damit gehabt.

    Das heißt?

    Struppi.

    1. Das heißt, dass mein Wert nicht übergeben wird und im Popup nichts ankommt.
      Ich habe das mit einem alert(meine_variable) überprüft. Aber in dem alert kommt immer wieder der Fehler: "undefined".

      Details:

      Ich öffne das Popup-Fenster über einen Klick auf eine Checkbox, wie folgt:

      <input type="checkbox" value="Motoriesierungsdetails: "  onclick="oeffnefenster(this);">

      Das PopUp-Fenster öffnet sich über diese Zeile:
      <script language="javascript">
      fenster = window.open("frame.html?fixed_text=" + meine_auswahl, "Texteingabe", "width=400,height=210,status=no,scrollbars=yes,resizable=no");
         fenster.focus();
      </script>

      In dem PopUp-Fenster selbst soll der Wert der Variablen an die Variable "fixed_text" übergeben werden.

      Das sieht so aus:

      <script LANGUAGE="JavaScript">
       meintext = self.opener.fixed_text;
       function get_var(meintext){
        alert(parent.opener.fixed_text);
       }
      </script>

      Im alert() steht nun die Variable zur Übergabeprüfung drin.
      Es kommt aber nichts an.

      Wo steckt hier der Fehler?

      Besten Dank für Deine Hilfe.

      Gruß,

      centauro

      Gedacht hatte ich mir das folgendermassen:

      mein_Wert = self.opener.uebergebene_variable;

      Ja, so sollte es gehen.

      Leider habe ich so bisher kein Glück damit gehabt.

      Das heißt?

      Struppi.

      1. Details:

        Ich öffne das Popup-Fenster über einen Klick auf eine Checkbox, wie folgt:

        <input type="checkbox" value="Motoriesierungsdetails: "  onclick="oeffnefenster(this);">

        soweit so gut, aber...

        Das PopUp-Fenster öffnet sich über diese Zeile:
        <script language="javascript">
        fenster = window.open("frame.html?fixed_text=" + meine_auswahl, "Texteingabe", "width=400,height=210,status=no,scrollbars=yes,resizable=no");
           fenster.focus();
        </script>

        Oben schreibst du öffnest das Fenster mit der Funktion oeffnefenster(), hier ist keine Funktion.

        In dem PopUp-Fenster selbst soll der Wert der Variablen an die Variable "fixed_text" übergeben werden.

        Welche Variabel? du hast oben nur einen Parameter an die URL gehängt.

        Das sieht so aus:

        <script LANGUAGE="JavaScript">

        Das language Attribut ist seit 1998 "mißbilligt", wo ist das notwendige type Attribut?

        meintext = self.opener.fixed_text;

        Dein opener hat keine Variabel fixed_text

        Wo steckt hier der Fehler?

        Die Variabel existiert nicht.

        und bitte kein TOFU

        Struppi.

        1. Es tut mir Leid,
          das ist die Macht der Faulheit. Natürlich ist in meinem Script alles korrekt. Sorry....Also folgendes:

          Ich öffne das Popup-Fenster über einen Klick auf eine Checkbox, wie folgt:

          <input type="checkbox" value="Motoriesierungsdetails: "  onclick="oeffnefenster(this);">

          Das PopUp-Fenster öffnet sich über diese Funktion:

          <script type="text/javascript">
          function oeffnefenster (auswahl) {
           if (auswahl.checked) {

          var meine_auswahl = auswahl.value;
           alert(meine_auswahl);

          fenster = window.open("frame.html?fixed_text=" + meine_auswahl, "Texteingabe", width=400,height=210,status=no,scrollbars=yes,resizable=no");
           fenster.focus();
            }
          }
          </script>

          Beim Öffnen des PopUp-Fenster wird die Variable "meine_auswahl" an das fenster-objekt angehangen: "frame.html?fixed_text=" + meine_auswahl

          Im PopUp-Fenster selbst soll die übergebene Variable nun abgefangen werden, über folgendes:

          text_var = self.opener.fixed_text;

          Ich hoffe, das ist nun besser. :-)

          Gruß,

          Centauro

          Details:

          Ich öffne das Popup-Fenster über einen Klick auf eine Checkbox, wie folgt:

          <input type="checkbox" value="Motoriesierungsdetails: "  onclick="oeffnefenster(this);">

          soweit so gut, aber...

          Das PopUp-Fenster öffnet sich über diese Zeile:
          <script language="javascript">
          fenster = window.open("frame.html?fixed_text=" + meine_auswahl, "Texteingabe", "width=400,height=210,status=no,scrollbars=yes,resizable=no");
             fenster.focus();
          </script>

          Oben schreibst du öffnest das Fenster mit der Funktion oeffnefenster(), hier ist keine Funktion.

          In dem PopUp-Fenster selbst soll der Wert der Variablen an die Variable "fixed_text" übergeben werden.

          Welche Variabel? du hast oben nur einen Parameter an die URL gehängt.

          Das sieht so aus:

          <script LANGUAGE="JavaScript">

          Das language Attribut ist seit 1998 "mißbilligt", wo ist das notwendige type Attribut?

          meintext = self.opener.fixed_text;

          Dein opener hat keine Variabel fixed_text

          Wo steckt hier der Fehler?

          Die Variabel existiert nicht.

          und bitte kein TOFU

          Struppi.

          1. Ich öffne das Popup-Fenster über einen Klick auf eine Checkbox, wie folgt:

            <input type="checkbox" value="Motoriesierungsdetails: "  onclick="oeffnefenster(this);">

            Das PopUp-Fenster öffnet sich über diese Funktion:

            <script type="text/javascript">
            function oeffnefenster (auswahl) {
            if (auswahl.checked) {

            var meine_auswahl = auswahl.value;

            wenn du meine_auswahl hier global machst, z.b. so:

            window.meine_auswahl = auswahl.value;

            Dann kannst du in dem Fenster mittels window.opener.meine_auswahl darauf zugreifen.

            fenster = window.open("frame.html?fixed_text=" + meine_auswahl, "Texteingabe", width=400,height=210,status=no,scrollbars=yes,resizable=no");

            Wenn du es unbedingt so machen willst, dann musst du http://de.selfhtml.org/javascript/objekte/location.htm#search@title=window.location.search verwenden.

            und bitte! kein TOFU, Danke.

            Struppi.

            1. Vielen Dank, das hat nun funktioniert.

              Eine Frage noch.

              Wie übertrage ich nun die Werte aus zwei Variablen aus dem PopUp-Fenster in das Hauptfenster an eine bestimmte Funktion?

              Die Funktion heißt

              function treffe_auswahl(auswahl, eingabe) {
              .
              .
              .
              }

              Vielen Dank für Eure Hilfe,

              Gruß, Centauro

              Ich öffne das Popup-Fenster über einen Klick auf eine Checkbox, wie folgt:

              <input type="checkbox" value="Motoriesierungsdetails: "  onclick="oeffnefenster(this);">

              Das PopUp-Fenster öffnet sich über diese Funktion:

              <script type="text/javascript">
              function oeffnefenster (auswahl) {
              if (auswahl.checked) {

              var meine_auswahl = auswahl.value;

              wenn du meine_auswahl hier global machst, z.b. so:

              window.meine_auswahl = auswahl.value;

              Dann kannst du in dem Fenster mittels window.opener.meine_auswahl darauf zugreifen.

              fenster = window.open("frame.html?fixed_text=" + meine_auswahl, "Texteingabe", width=400,height=210,status=no,scrollbars=yes,resizable=no");

              Wenn du es unbedingt so machen willst, dann musst du http://de.selfhtml.org/javascript/objekte/location.htm#search@title=window.location.search verwenden.

              und bitte! kein TOFU, Danke.

              Struppi.

              1. Hi,

                um das mit dem Zitieren endlich mal auf die Reihe zu kriegen, bist du anscheinden echt zu $%&!?

                Wie übertrage ich nun die Werte aus zwei Variablen aus dem PopUp-Fenster in das Hauptfenster an eine bestimmte Funktion?

                Entweder vom Popup-Fenster aus - der Weg geht ueber opener, das hatten wir ja nun schon - oder vom oeffnenden Fenster aus, die Referenz auf das Popup liefert dir ja window.open zurueck.

                Wenn du jetzt noch mal bloedsinnig zitierst, bekommst du von mir aber keine weitere Antwort mehr.

                MfG ChrisB

                --
                „This is the author's opinion, not necessarily that of Starbucks.“
                1. Keine Zitate mehr. :-)

                  Sorry, dass ich dich damit genervt hab.

                  Vielen Dank für Deine Hilfe und gute Nacht.

                  Gruß,

                  Centauro

          2. Hi,

            Ich hoffe, das ist nun besser. :-)

            Nein. Darauf, dass du bitte vernuenftig zitieren sollst, wurdest du gerade von Struppi hingewiesen.

            Beim Öffnen des PopUp-Fenster wird die Variable "meine_auswahl" an das fenster-objekt angehangen: "frame.html?fixed_text=" + meine_auswahl

            Also hast du einen GET-Parameter an die Adresse angehaengt.

            Im PopUp-Fenster selbst soll die übergebene Variable nun abgefangen werden, über folgendes:

            text_var = self.opener.fixed_text;

            Damit wuerdest du auf eine JavaScript-Variable im oeffnenden Fenster zugreifen.
            Du hast aber gar keine solche JavaScript-Variable, sondern einen Parameter im Querystring der Adresse des Popups. Ist dir der Unterschied klar?

            Den Inhalt des Querystring bekommst du ueber location.search - natuerlich hier das location-Objekt des im Popup angezeigten Dokumentes, der opener ist hier ueberhaupt nicht mehr relevant.

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“
            1. Hallo ChrisB,

              vielen Dank für den Hinweis. Der Unterschied ist mir klar.
              Ich habe hier einiges durcheinander gebracht.

              Das ich immer Tofu mache, wird mir erst immer hinterher klar.
              Dafür möchte ich mich entschuldigen. Werde mich bemühen dies nicht zu wiederholen.

              Ich werde Eure Hinweise beherzigen und teste mal mein Script.

              Viele Grüße,

              Centauro

              Hi,

              Ich hoffe, das ist nun besser. :-)

              Nein. Darauf, dass du bitte vernuenftig zitieren sollst, wurdest du gerade von Struppi hingewiesen.

              Beim Öffnen des PopUp-Fenster wird die Variable "meine_auswahl" an das fenster-objekt angehangen: "frame.html?fixed_text=" + meine_auswahl

              Also hast du einen GET-Parameter an die Adresse angehaengt.

              Im PopUp-Fenster selbst soll die übergebene Variable nun abgefangen werden, über folgendes:

              text_var = self.opener.fixed_text;

              Damit wuerdest du auf eine JavaScript-Variable im oeffnenden Fenster zugreifen.
              Du hast aber gar keine solche JavaScript-Variable, sondern einen Parameter im Querystring der Adresse des Popups. Ist dir der Unterschied klar?

              Den Inhalt des Querystring bekommst du ueber location.search - natuerlich hier das location-Objekt des im Popup angezeigten Dokumentes, der opener ist hier ueberhaupt nicht mehr relevant.

              MfG ChrisB