Hallo,
In einem Popup, welches mit window.open(...) aufgerufen wird, befindet sich ein Button, mit noch ein neues Popup aufgerufen werden soll.
Gleichzeitig soll mit dem Klick auf den Button das erste Popup geschlossen werden (per self.close() oder window.self.close()).Nur leider, wenn ich beide Popups geschlossen habe (Das erste automatisch und das 2. von Hand) und die Popuops nocheinmal aufrufen will, komm ich nur bis zum ersten Popup.
Hat jemand ne Idee, woran das liegen könnte?
an Deinem Code, den Du uns leider vorenthältst.
Andererseits solltest Du Dein Konzept, das soviele Popups benötigt, überdenken.Freundliche Grüße
Vinzenz
OK, Problem hat sich erledigt.
Lag nicht an den Popups sondern an einer xmlhttp-Anfrage:
xmlHttp.open('POST', 'kontakt_save.php', true);
xmlHttp.setRequestHeader("Pragma", "no-cache");
xmlHttp.setRequestHeader("Cache-Control", "must-revalidate");
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xmlHttp.send(TempSendDATA);
// Den Brief im neuen Fenster oeffnen
var fenster = window.open('kontakt_brief_fax.php?SessionKey='+SessionKey,'brief','toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=yes,resizable=yes,width=1024,height=768,personalbar=no');
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
//alert(xmlHttp.responseText);
//location.reload();
}
}
window.self.close();
So wie's aussieht wurde das Fenster geschlossen, bevor die Übertragung des xmlHttp abgeschlossen war. Das hat dann Probleme verursacht.
Lösung:
"window.self.close();" einfach in die Funktion des "xmlHttp.onreadystatechange" schreiben, statt daunter. Dann wird das Fenster erst geschlossen, wenn die Übertragung abgeschlossen ist.