iTsman: window.name: Kann man den Namen für eine Session resetten?

Hallo,

ich habe folgendes Problem (ohne auf den Glaubenskrieg mit der Wertübergabe eingehen zu wollen ;-)):
Ich verwende window.name um den Namen des Zielverzeichnisses einer hochzuladenden Datei an ein Servlet zu übergeben (sprich: Hauptfenster öffnet Pop-Up Upload Fenster (Verzeichnisname ist window.name), Datei wird ausgewählt, Verzeichnisname wird mit Datei an Servlet übergeben, Pop-Up Fenster wird manuell geschlossen -> da in Pop-Up Fenster noch die Statusmeldung erscheint). Das funktioniert auch prima, ich habe bloss das Problem, dass der User das Upload Fenster nur einmal pro Sitzung aufrufen kann. Wenn er zum Beispiel bemerkt, dass er/sie die falsche Datei raufgeladen hat, muss er das Applet (aus dem das Pop-Up Fenster aufgerufen wird) neu starten. Gibt es eine Möglichkeit, die window.name Variable innerhalb einer Session zu resetten? Am besten beim Schließen des Pop-Up Fensters?

Danke schon mal

Jan

PS: FYI das aufrufende Script:

function callWindow(appletId) {
window1.name=appletId;
window1 = window.open("FileUpload_local.html",appletId,"toolbar=no");
window1.resizeTo(320,200);
        }

  1. Hallo,

    ich habe folgendes Problem (ohne auf den Glaubenskrieg mit der Wertübergabe eingehen zu wollen ;-)):
    Ich verwende window.name um den Namen des Zielverzeichnisses einer hochzuladenden Datei an ein Servlet zu übergeben (sprich: Hauptfenster öffnet Pop-Up Upload Fenster (Verzeichnisname ist window.name), Datei wird ausgewählt, Verzeichnisname wird mit Datei an Servlet übergeben, Pop-Up Fenster wird manuell geschlossen -> da in Pop-Up Fenster noch die Statusmeldung erscheint).

    Verzeihung, ich verstehe nichts.
    Der Name des Zielverzeichnisses kommt aus dem Ursprungsfenster und wird im Popup-Fenster, in dem ein Datei-Upload-Formular gezeigt wird, benötigt.
    Wie und warum benutzt du da nun window.name?
    Warum z.B. keine Übergabe im Query String? window.open("upload.script?zielverzeichnis=" + encodeURIComponent(zielverzeichnis), ...) und das Script bzw. CGI-Programm bastelt den Wert dann in ein verstecktes Formularfeld oder gibt ihn wieder als Query String weiter.
    Warum z.B. holt sich das Dokument im Popupfenster nicht einfach direkt die Variable aus dem Ursprungsfenster? Siehe etwa https://forum.selfhtml.org/?t=111675&m=703853.

    Das funktioniert auch prima, ich habe bloss das Problem, dass der User das Upload Fenster nur einmal pro Sitzung aufrufen kann. Wenn er zum Beispiel bemerkt, dass er/sie die falsche Datei raufgeladen hat, muss er das Applet (aus dem das Pop-Up Fenster aufgerufen wird) neu starten.

    Verstehe ich nicht. Wieso neu starten?
    Durch irgendeine Aktion im Ursprungsfenster wird das Popup-Fenster geöffnet, nehme ich an. Dabei wird window.name des neuen Fensters mit einem bestimmten Wert gefüllt.
    Wenn diese Aktion im Ursprungsfenster noch einmal ausgeführt wird, nachdem das erste Popup-Fenster geschlossen worden ist, also eine Datei erfolgreich hochgeladen worden ist, wird ein zweites Popup-Fenster geöffnet. Entweder mit demselben oder einem anderen window.name. Gut, wo ist nun das Problem, wieso funktioniert das nicht?

    function callWindow(appletId) {
    window1.name=appletId;

    Zu dem Zeitpunkt ist window1 noch undefined, was aber nicht kritisch sein sollte, wenn du window.name mit dem zweiten window.open-Parameter setzt.

    Mathias