Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
der Funktion NeuFenster bei Objekt window.open Variable mitübergeben - aber wie? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
der Funktion NeuFenster bei Objekt window.open Variable mitübergeben - aber wie?


 
Ralf
24-01-2002, 15:08 
 
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

 
schmalle
24-01-2002, 15:44 
 
echo "window.open(\"Test.php3?kdnr=$kdnr\", usw ... ";

echo "<a href=\"neufenster()\">";

 
BrainBug
24-01-2002, 16:49 
 
@schmalle: :confused: was?


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>";

 
Ralf
24-01-2002, 18:38 
 
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?

 
BrainBug
25-01-2002, 08:09 
 
<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.

 
Ralf
25-01-2002, 14:25 
 
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 Fenster:(dies funktioniert nicht!!!)
<table border="0" width="100%" align="center">
<tr><td><a href="javascript:AlleAngebote.close( )">Fenster schließen</a></td></tr>

 
BrainBug
25-01-2002, 15:36 
 
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.

 
Ralf
25-01-2002, 22:52 
 
das hat nun geklappt, danke :-)

 
knu!
25-02-2002, 20:44 
 
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

 
knu!
26-02-2002, 16:59 
 
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?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:57 Uhr.