Hallo zusammen!
Ich rufe aus einem Frame heraus eine Funktion zum Öffnen eines Fensters auf, die wie folgt aussieht:
function fenster(url,b,h)
{
window.open(url, 'newwindow',"toolbar=no,status=no,menubar=no,scrollbars=no,width="+b+",height="+h+"");
}
Dann erhalte ich ein Fenster mit einer Eingabemaske und einem Speicherbutton mit dem Namen submit. Nun möchte ich, dass beim Anklicken zunächst ein Datensatz gespeichert wird, dann der Frame, aus dem das Fenster aufgerufen wurde, aktualisiert wird und dann das Fenster geschlossen wird.
Das Speichern und Schließen funktioniert, allerdings das Aktualisieren des Ursprungsframes bzw. des Fensters nicht.
Der Code im Fenster sieht so aus:
<?php
if(!empty($submit))
{
//Speicherroutine
$db->query("INSERT
INTO ...");
//Fenster schließen
echo "<script type=\"text/JavaScript\">
window.opener = top;
window.self.close();
</script>";
}
?>
Ich habe jetzt gelesen, dass man das hier verwenden könnte:
function onRefreshOpener()
{
if (window.opener && !window.opener.closed)
{
parent.reload();
}
}
und habe das in den Header der Datei, die im Fenster aufgerufen wird geschrieben, und den body-Tag wie folgt erweitert:
<body onclose="onRefreshOpener();">
oder
<body onunload="onRefreshOpener();">
Beides hat aber nicht funktioniert, das Ursprungsfenster wurde nicht aktualisiert.
Kann mir da jemand mal bitte helfen?
Gruß,
Frank
Ich rufe aus einem Frame heraus eine Funktion zum Öffnen eines Fensters auf, die wie folgt aussieht:
function fenster(url,b,h)
{
window.open(url, 'newwindow',"toolbar=no,status=no,menubar=no,scrollbars=no,width="+b+",height="+h+"");
}
Dann erhalte ich ein Fenster mit einer Eingabemaske und einem Speicherbutton mit dem Namen submit. Nun möchte ich, dass beim Anklicken zunächst ein Datensatz gespeichert wird, dann der Frame, aus dem das Fenster aufgerufen wurde, aktualisiert wird und dann das Fenster geschlossen wird.
Das Speichern und Schließen funktioniert, allerdings das Aktualisieren des Ursprungsframes bzw. des Fensters nicht.
Der Code im Fenster sieht so aus:
<?php
if(!empty($submit))
{
//Speicherroutine
$db->query("INSERT
INTO ...");
//Fenster schließen
echo "<script type=\"text/JavaScript\">
window.opener = top;
window.self.close();
</script>";
}
?>
Ich habe jetzt gelesen, dass man das hier verwenden könnte:
function onRefreshOpener()
{
if (window.opener && !window.opener.closed)
{
parent.reload();
}
}
und habe das in den Header der Datei, die im Fenster aufgerufen wird geschrieben, und den body-Tag wie folgt erweitert:
<body onclose="onRefreshOpener();">
oder
<body onunload="onRefreshOpener();">
Beides hat aber nicht funktioniert, das Ursprungsfenster wurde nicht aktualisiert.
Kann mir da jemand mal bitte helfen?
Gruß,
Frank
Kommentar