Von Popup auf anderes Popup zugreifen

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

  • Von Popup auf anderes Popup zugreifen

    Hallo!

    Ich öffne aus einer Datei "start.php" ein popup namens "main".
    dieses "main"-popup öffnet wiederum ein popup namens "navi"...

    wenn ich aus dem navi-popup heraus auf das main-popup zugreifen will geht das ja mit z.b. opener.location.href.

    Wie kann ich aber von dem main-popup auf das navipopup zugreifen, also dieses z.b. schließen? folgendes habe ich ohne erfolg probiert:

    parent.navi.close();
    navi.close();
    window.navi.close();
    navi.window.close();

    mfg
    infernalshade

  • #2
    also wenn das fenster wirklich navi heißt, so sollte navi.close(); zum gewünschten ergebnis führen. ein bißchen code ware hilfreich.

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

    Kommentar


    • #3
      Ok hier ein paar Code-Schnipsel:

      in der start.php wird mit:
      PHP-Code:
      <script language="JavaScript">
          
      main window.open("index.php","main","width=1000,height=600,scrollbars=no,top=0,left=0,resizeable=no,menubar=no,toolbar=no,status=no");
      </
      script
      das main-popup geöffnet

      in dem main-popup wird auf folgende art und weise das navi-popup geöffnet:

      PHP-Code:
      if($admin==1) {
          echo 
      "<script language=\"JavaScript\" type=\"text/javascript\">
                      adminnavi = window.open (
                      'sidemenu2.php?&admin=1',
                      'adminnavi',
                      'width=100,height=60,scrollbars=no,top=169,left=1010,resizeable=no,menubar=no,toolbar=no,status=no');
                </script>"
      ;
      }else{
          echo 
      '<script language="JavaScript" type="text/javascript">
                      adminnavi.close();
                </script>'
      ;
      }
      echo 
      "<script language=\"JavaScript\" type=\"text/javascript\">
                      navi = window.open (
                      'sidemenu.php?&admin=0',
                      'navi',
                      'width=100,height=140,scrollbars=no,top=0,left=1010,resizeable=no,menubar=no,toolbar=no,status=no');
                </script>"
      ;
      ?> 
      Hier prüf ich nur ob man sich als administrator eingeloggt hat oder nicht...wenn ja wird ein 2. popup "adminnavi" geöffnet...

      Und mein Gedanke ist jetzt beim ausloggen das adminnavi-popup automatisch wieder zu schließen, aber das funktioniert nicht mit adminnavi.close(); !

      mfg

      Kommentar


      • #4
        das wird auch so nicht funktionieren, da bei ausloggen der bezug zu adminnavi ja nicht mehr vorhanden ist. vergißt die if-else-konstruktion und leg das close aus den auslogg-button. dann klappt das auch.

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

        Kommentar


        • #5
          Wie meinst du das, das der Bezug verloren geht?

          Mein ausloggen-Button setzt nur die Variable $admin auf 0 und das wollt ich eben mit dieser if-else-konstruktion abfangen, d.h. das dann die function adminnavi.close(); ausgeführt wird wenn $admin 0 ist

          mfg

          Kommentar


          • #6
            allerdings wird die seite ja wohl komplett neu geladen, oder? und das heißt, dass der folgende code nicht mehr vorhanden ist:
            PHP-Code:
            echo "<script language=\"JavaScript\" type=\"text/javascript\">
                            adminnavi = window.open (
                            'sidemenu2.php?&admin=1',
                            'adminnavi',
                             'width=100,height=60,scrollbars=no,top=169,left=1010,
            resizeable=no,menubar=no,toolbar=no,status=no');
                      </script>"

            ergo, es gibt keine js-referenz auf ein fenster namens adminnavi. also kann das auch nicht geschlossen werden.

            gruß
            peter
            Zuletzt geändert von Kropff; 20.02.2008, 12:34.
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              achso jetzt versteh ich...weil er ja gar nicht mehr in den if-zweig reinläuft wo er die referenz erneuern würde...

              naja ok ich löse es jetzt folgendermaßen:

              PHP-Code:
              <div class="bmenu" style="z-index:100;"><a href="javascript:Logout();">Logout</a></div
              das ist der logoutbutton

              und das ist die function Logout()

              PHP-Code:
              function Logout() {
                  
              adminnavi.close();
                  
              document.getElementbyId("logout").value="1";
                  
              document.forms[0].submit();

              Unten ist bei mir sowieso das Login-Formular das ich einfach leer abschicke...das heißt er sagt "falsche benutzerdaten" und setzt $admin auf 0...somit ist das adminnavi zu und $admin auf 0...der text "falsche benutzerdaten" wird nicht angezeigt da ich das input-feld logout mit dem wert 1 bestücke

              mfg


              EDIT:
              ähm...er macht mit der funktion zwar das adminnavi zu aber er schickt das formular nicht neu ab...weis jemand gründe dafür?
              Zuletzt geändert von infernalshade; 20.02.2008, 10:57.

              Kommentar


              • #8
                welches formuar? in welcher datei?

                btw: brich deinen quellcode doch auch um.

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

                Kommentar


                • #9
                  ein formular weiter unten!

                  aber hat sich jetzt eh erledigt, war nur ein tipp-fehler

                  trotzdem danke!

                  mfg

                  Kommentar


                  • #10
                    trotzdem solltest du deinen code so umbrechen, dass man nicht mehr horizontal scrollen muss.

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

                    Kommentar

                    Lädt...
                    X