der Funktion NeuFenster bei Objekt window.open Variable mitübergeben - aber wie?

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

  • der Funktion NeuFenster bei Objekt window.open Variable mitübergeben - aber wie?

    Hallo,

    ich möchte Java dazu verwenden innerhalb einer Seite ein weiteres Fenster aufmachen zu können.

    Das mache ich mit folgender Funktion im Head-Bereich:
    function NeuFenster ( )
    {
    AlleAngebote =
    window.open("Test.php3", "Zeitfenster", "width=300, height=200, scrollbars");
    AlleAngebote.focus ( );
    }
    </script>

    Nun mein Problem: die php-Datei 'Test.php3' führt eine mysql-query aus und generiert hieraus eine Tabelle mit Werten aus der DB. Ich habe nachfolgenden Link auf der Seite um die Java-funktion NeuFenster aufzurufen.
    <a href=\"javascript:NeuFenster( )?KdNr=" . mysql_result($result,$i,"$tabelle1.KdNr") . "\">alle</TD>

    Aber wie erreiche ich hier, daß der funktion NeuFenster der Wert der Variabel 'KdNr' übergeben wird, die test.php3 in der where-Bedingung als query-argument braucht?

    Ralf

  • #2
    Code:
    echo "window.open(\"Test.php3?kdnr=$kdnr\", usw ... ";
    
    echo "<a href=\"neufenster()\">";
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      @schmalle: was?

      Code:
      function NeuFenster (kdnr) 
        { 
        AlleAngebote = window.open("Test.php3?KdNr="+kdnr, "Zeitfenster", "width=300,height=200,scrollbars"); 
        AlleAngebote.focus ( ); 
      } 
      </script>
      
      und Aufruf der Funktion über
      
      echo "<a href=\"javascript:NeuFenster(".mysql_result($result,$i,"$tabelle1.KdNr").")\">blabla</a>";

      Kommentar


      • #4
        das von Brain klappt einwandfrei, danke,

        jetzt habe ich noch ne 2-te Frage, das Fenster öffnet sich nun, aber es kann sein, daß bei manchen, nicht das ganze Fenster angezeigt wird, so u.a. die Srollbar unten um nach rechts zu scrollen ist bei manchen kleineren Bildschirmen nicht mehr sichtbar, mit

        <a href="javascript:MeinFenster.close()">Fenster zumachen</a>

        kann ich das Fenster wieder schließen,
        meine Frage: gibt es auch eine Möglichkeit dieses Fenster an den gesamt Bildschirm anzupassen?

        Kommentar


        • #5
          Code:
          <script>
          function NeuFenster (kdnr) 
          	{ 
          	if (navigator.appName=="Netscape") var breite=screen.availWidth-10;
          	else var breite=screen.availWidth-1;
          	var hoehe=screen.availHeight-25;
          	AlleAngebote = window.open("Test.php3?KdNr="+kdnr, "Zeitfenster", "width="+breite+",height="+hoehe+",scrollbars"); 
          	AlleAngebote.focus ( ); 
          	} 
          </script>
          wobei das Objekt screen vorhanden sein muß, d.h. Netscape 3 und IE 4 (?) machen Probleme, vielleicht auch nur der NS.
          Gibt auch noch die Möglichkeit von Fullscreen, also ohne jegliche Fensterelemente.

          Kommentar


          • #6
            nun läßt sich das Fenster wie gewünscht öffnen + mit move.to zentrieren, nur das neue Fenster läßt sich nun mit dem Link 'Fenster Schließen' nicht mehr schließen, ich finde den Fehler einfach nicht. An der Variable 'AlleAngebote' kanns nicht liegen, die ist korrekt geschrieben, habe ich den Link vielleicht an der falschen Stelle auf der neuen Seite plaziert. Nachfolgend nochmal die Scriptlet:

            function NeuFenster(KdNr)
            {
            if (navigator.appName=="Netscape") var breite=screen.Width-50;
            else var breite=screen.Width-50;
            var hoehe=screen.Height-120;
            var AlleAngebote = window.open("test.php3?KdNr="+KdNr, "Zweitfenster", "width="+breite+", height="+hoehe+", scrollbars");
            AlleAngebote.moveto(screen.width-0, screen.height-0);
            AlleAngebote.focus( )
            }

            Im Neuen Fensterdies funktioniert nicht!!!)
            <table border="0" width="100%" align="center">
            <tr><td><a href="javascript:AlleAngebote.close( )">Fenster schließen</a></td></tr>

            Kommentar


            • #7
              klar, "AlleAngebote" ist auch nicht der Fenstername, sondern die Variable in der Funktion, in der du eine Objektreferenz zum Fenster gespeichert hast.

              Benutze einfach top.close(); an der Stelle. Falls es sich um kein Frameset im Fenster handelt, kannst du auch mit self.close(); das Fenster schliessen.

              Kommentar


              • #8
                das hat nun geklappt, danke :-)

                Kommentar


                • #9
                  murks

                  ich hab das benutzt mit dem screen.availWidth, aber wieso muss ich da bei der breite 10 abziehn und bei der höhe sogar 145 dass es passt?
                  ich versteh nicht wieso der das nicht auf den richtigen wert setzt
                  gibts da nix das wirklich anpasst?

                  unter folgendem code ist es genau im fenster
                  ...
                  if (navigator.appName=="Netscape")
                  {
                  breit=screen.availWidth-10;
                  }
                  else
                  {
                  breit=screen.availWidth-10;
                  }
                  hoch=screen.availHeight-145;
                  win=window.open ("", "lala", "width="+breit+", height="+hoch+", left=0, top=0");
                  ...
                  des is aber bissi blöd

                  Kommentar


                  • #10
                    hmm

                    ich glaub javascript nimmt bei mir einfach die ..width="+breite+"... als die innere breite
                    dann passt das auch genau mit availWidth

                    aber wie kann ich machen dass er die äußere breite nimmt?
                    das normale width= sollte doch sowieso die äußere breite nehmen oder?

                    oder wie is das?

                    Kommentar

                    Lädt...
                    X