Michael: Bitte warten Fenster

Hallo,

mein Problem ist folgendes. Ich möchte in meine asp Seite ein >>bitte
warten<< Fenster einblenden
das solange aktiv ist, bis eine Aktion die in meiner ASP Seite integriert
beendet ist.

Das ganz funktioniert oder besser sollte so funktionieren.

1. Es gibt zwei Javascript Functions eine zum Öffnen des >>Bitte Warten<< Fensters und eine zum Schließen.

2. Nach Klick auf Submit wird die Javascript Function BitteWarten()
aufgerufen und das Fenster Bitte warten angezeigt
    Der Fensterhandle wird an ein hidden feld Namens dfwindowhandle
übergeben.

3. Nach wiedereintritt in die Seite da Action="work2.asp" (ist die gleich Seite) Soll der Fensterhandle mittels Request wieder in das hidden Field geschrieben werden und wartenfensterx der Function CloseWaitWindow() wird mit dem Wert von dfwindowhandle gesetzt.

Das Funktioniert aber nicht da ich hier immer die Meldung

*** Es ist ein LaufzeitFehler aufgetreten soll der Debugmodus gestartet
werden ?
  Zeile 17 Fehler: Das Objekt unterstützt diese Eigenschaft oder Methode
nicht. ***

kommt. Also das Fenster wird nicht geschlossen.

Wer kann mir hier helfen da ich schon am verzweifeln bin. Habe ich hier irgendwas grundlegendes übersehen ?
Oder kann ich eventuell gar keine Fensterhandles in hidden Fields
speichern ? Ein Beispiel auf diesem Forum hat da
das Gegenteil behauptet jedoch fehlt darin genau der Source für das
schließen obwohl genau gesagt wird es soll so   funktionieren ? Hier der Link mit diesem Beispiel http://forum.de.selfhtml.org/archiv/2003/2/38847/#m212835

Wer kann mir da helfen ?
Ciao Michael

<html>
<head>
 <title>Unbenannt</title>
<script language="JavaScript">
<!--
  function BitteWarten()
 {
    var wartenfenster =
window.open("warten.html","Fenster1","width=310,height=400,left=0,top=0");
    document.frmwork.dfwindowhandle.value= wartenfenster;

}

function CloseWaitWindow()
 {
 var wartenfensterx = document.frmwork.dfwindowhandle.value;
 wartenfensterx.close();
 }

-->
</script>

</head>

<body>

<form action="work2.asp" name="frmwork" method="post"
onSubmit="BitteWarten();">
<input type="hidden" name="dfwindowhandle"
value="<%=Request("dfwindowhandle")%>">

<% if Request("btn") = "Ok" then
    ' hier wird eine datenbankoperation abgearbeitet die ein paar  Minuten
braucht
    'danach soll das fenster geschlossen werden deswegen der script aufruf

<script language="JavaScript">CloseWaitWindow();</script>
<% End If %>

<input type="Submit" name="btn" value="Ok">

</form>

</body>
</html>

  1. Hallo Michael!

    Zu diesem Problem sollte sich im Archiv genug finden - ich würde aber

    Fenster1.close();

    versuchen ;-)

    mfg

    norbert =:-)

  2. Moin!

    function BitteWarten()
     {
        var wartenfenster =
    window.open("warten.html","Fenster1","width=310,height=400,left=0,top=0");
        document.frmwork.dfwindowhandle.value= wartenfenster;

    Punkt 1: wartenfenster ist eine lokale Variable, die nach Verlassen der Funktion vergessen wird.

    Punkt 2: wartenfenster ist überdies noch ein Javascript-Fensterobjekt, welches sich _NICHT_ als String darstellen läßt. Insofern ist das Speichern des Objektes in einem Speicherbereich, der nur Strings speichert, extrem sinnlos.

    Aber das könnte sogar noch funktionieren, indem die Eigenschaft value dann einfach ein Typecasting erfährt und den eigenen Typ von "String" auf "window-object" ändert. Nur wird es diese Wandlung durch das Abschicken des Formulars niemals überleben.

    }

    function CloseWaitWindow()
     {
     var wartenfensterx = document.frmwork.dfwindowhandle.value;

    An dieser Stelle weist du den String, der im hidden-Feld steht, der Variablen wartenfensterx zu.

    wartenfensterx.close();

    Ein String verfügt aber über keine Methode close().

    }

    Wie man ein Fenster, welches auf der einen Seite geöffnet wurde, auf der anderen Seite wiederfindet, um es z.B. zu schließen, steht im Archiv. Oder hier: http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/

    - Sven Rautenberg

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|