Undefinierte Anweisung

StefanBrinkmann_KRZ

Grünschnabel
Hallo,
wenn ihr unten bei mir in den Code herein guckt werdet ihr sehen, dass ich durch ein Button ein Popup geöffnet habe. Dieses geht in den Hintergrund (z.B. durch einen Mausklick auf ein anderes Fenster). Nun Versuche ich es mit dem 2. Button wieder Aufzurufen. Hier kommt mir aber die fehler Meldung, dass popup.closed undefiniert ist, also das er nicht mehr weiß, was "popup" ist. Wäre nett wenn ihr mir da helfen könnt.

var popup;

function openTiffViewer()
{
popup = window.open('WebForm1.aspx',
'tiffViewer',
'resizable=yes,status=yes,width=760,height=450,left=100,top=50');
}

function submitTiffViewer()
{
/// Hier muß etwas hin, damit er weis, was popup ist.
if(!popup.closed){popup.focus();}
}

function submitPageData()
{
alert('submit');

eval('var theform = pageData;');
popup.close();
theform.submit();
}
 
Da muss eigentlich nichts hinein... du hast "popup ja ausserhalb der Funktion als Variable definiert, damit ist es innerhalb der Funktion bekannt.
Ein Problem gibt es, wenn die Funktion "submitTiffViewer()" aufgerufen wird, bevor 'openTiffViewer()' ausgeführt wurde.
Du könntest aber die Variable eingehend mit "var popup=false;" deklarieren und dann in "submitTiffViewer()" abfragen, ob "popup" nicht mehr "false" ist....
wenn ja, ist "popup" als window-Objekt bekannt.
Code:
function submitTiffViewer()
{
if(popup&&!popup.closed){popup.focus();}
}
Wenn das nix hilft, muss der Fehler woanders liegen, ist aber aus dem geposteten Code nicht ersichtlich.
 
Funktioniert leider noch nicht.

Unser Problem liegt darin, dass die Variable "popup" in der "submitTiffViewer()" Funktion ihren Wert verliert. Sie ist immer "nothing". Jetzt zeigt er zumindest keinen Fehler mehr an, aber wenn ich auf den Button klicke bleibt das Fenster im Hintergrund.
 
Funktioniert leider noch nicht.

Der Browser ist die neuste version des Internet explorers. Das programmieren mache ich im Visual Studio 2003 Enterprise Edition.
Das ist das Einzige was im dem Script drin steht.
Ich habe mal das Projet in den Anhang gemacht, dass ist alles was ich erstellt habe.
 

Anhänge

Mit dem ZIP kann ich ohne Direkzugriff auf deinen Rechner leider nix anfangen. :-)
Ansonsten bin ich etwas ratlos.... ich hab mal nen *.txt rangehängt mit genau diesem Code, es funktioniert in allen möglichen Browsern.
Benenn sie mal um in *.htm und teste, ob der Fehler da auch kommt.
Ohne zu wissen, was da sonst noch um das Skript herum steht, kann ich derweil auch nichts weiter sagen. Das Einzige, was mir noch einfiele, wäre, dass du da einen Namenskonflikt hast... sprich:irgendein Element in der Seite, welches "popup" als Name oder ID besitzt: Ansonsten... Hast du "popup" auch immer durchgehend klein geschrieben...überall?
 

Anhänge

Danke

Danke erst einmal für deine Hilfe.
Also wenn man das direkt ins html reinschreibt geht es, aber sobald ich das im Visual Studio reinschreibe geht es nicht mehr. Ich habe es einmal in ein script file reingeschrieben und danach habe ich es nochmal driekt auf die eine Seite geschrieben.
Und an anderen sachen kann es nicht liegen. Die Page besteht aus 3 Dateien. Eine Leere Seite, eine Seite mit den zwei Buttons drauf und der Script datei. Also das Popup öffnet er aber er holt es nicht wieder in den Vordergrund. Ich habe die schriftweise von Popup nochmal kontrolliert aber da ist auch alles in ordnung. Kann es wohl sein das der Compiler da zicken macht? Naja, ich werde das wohl irgendwie anders regeln müssen. Aber nochmals danke für deine Hilfe.
 

Neue Beiträge

Zurück