abfolge wird nicht eingehalten
Sorgenkind Mech
- javascript
nabend
ich stehe vor einem rätsel - wiedermal
und zwar (ich bin der meinung gestern gings noch) soll ein zuvor durch js aufgerufenes fenster wieder geschlossen werden, und dann ein wert abgefragt werden, allerdings wird das fenster erst geschlossen, wenn der wert abgefragt wurde .....
hier ein teil es scripts:
if(document.getElementById('action').value=="")
{
einfaf=window.open("artikeleinf.html?user=<?php echo $user; ?>","Artikel","");
document.getElementById('action').value="tmp";
}
else
{
schreibgeschuetzt=1;
document.getElementById('action').value="addart";
document.getElementById('rsatztyp').value="a";
einfaf.close();
document.getElementById('addmenge').value = window.prompt("Menge:","1");
document.forms['dok'].submit();
}
so, im ersten teil wird halt das fenster geöffnet, dann arbeitet man in diesem fenster, und dann wird in dem fenster geklickt, sodass die funktion, in dem der teil da steht nochmals aufgerufen wird.
smit kommt der zweite teil der funktion, welcher ERST das fenster wieder schließen soll, und DANN erst die eingabeaufforderung bringen soll.
im moment ist es so, dass das fenster offen und im vordergrund bleibt, und im hintergrund sich die eingabeaufforderung befindet
weiß jemand rat?
danke im vorraus
Hi,
einfaf.close();
document.getElementById('addmenge').value = window.prompt("Menge:","1");
document.forms['dok'].submit();
Darstellungsaktionen wie das Schließen eines Fensters werden erst "bei Gelegenheit" ausgeführt; sie werden gewissermaßen mit einem Null-Timeout versehen. Deine Zeilen tun also dasselbe, als wenn Du geschrieben hättest:
window.setTimeout ("einfaf.close()",0);
document.getElementById('addmenge').value = window.prompt("Menge:","1");
Die Lösung: Packe alles, was nach dem Schließen des Fensters geschehen soll, in eine Funktion und rufe diese ebenfalls mit Timeout auf.
Salokin
Darstellungsaktionen wie das Schließen eines Fensters werden erst "bei Gelegenheit" ausgeführt; sie werden gewissermaßen mit einem Null-Timeout versehen. Deine Zeilen tun also dasselbe, als wenn Du geschrieben hättest:
window.setTimeout ("einfaf.close()",0);
document.getElementById('addmenge').value = window.prompt("Menge:","1");Die Lösung: Packe alles, was nach dem Schließen des Fensters geschehen soll, in eine Funktion und rufe diese ebenfalls mit Timeout auf.
Salokin
hi
seltsam
denn ich habe etwas ähnliches, mit fast dem selben code, halt auf dem gleichen prinzip aufgebaut, und da funzt es
der einzige unterschied ist, dass das geöffnete fenster keine frames enthält .... also da wo es funzt
und das bei gelegenheit ... ich kann warten so lang ich will, es tut sich nix
aber ich werds mal probieren
bis denn erstmal danke
hab jetz nach dem fenster.close(); die funktion aufgerufen, in der dann halt der rest stand
selbe effekt
das geöffnete fenster schließt sich erst genau dann, wenn man bei der eingabeaufforderung bestätigt
UND das geöffnete fenster ist solange nicht zu benutzen (handzeiger, reagiert nicht auf mausklicks)
d.h. man muss erst zum mutterfenster wechseln, und dann bestätigen, das is absulut nicht meinen vorstellungen entsprechend
bis dahin
ich hoffe jemand weiß rat