Hi,
unter der Annahme, dass Du pruefen() in Deinem Code korrekt notiert (also mit abschließenden Strichpunkten), meine ich, dass Du ein ganz "simples" Timingproblem hast - Du rufst vermutlich mit Deinem Formular ein verarbeitendes Programm/Skript auf, richtig? Wenn das antwortet, bevor die 0,3 Sek. um sind. ist IMHO halt auch das Skript weg. Versuch mal, die Funktion ins Hauptfenster zu verlegen:
Aufruf aus Formularfenster:
<form method=post ... onsubmit="return opener.pruefen()">
Und im Hauptfenster dann:
function pruefen(){
...
if(fehler == ""){
F1.focus();
window.setTimeout("F1.close()",300);
return true;
}
}
Wobei Du natürlich aufpassen musst, in welchem Fenster jetzt die Variable fehler abzufragen ist - vermutlich bist Du am besten dran, wenn Du sie von vornherein ins Hauptfenster schreiben lässt.
window.setTimeout("self.close()",300)
Das ist AFAIK die richtige Syntax, auch für NS.
Grüße,
Utz