comix2000: formular eingabe -> vor verlassen fragen ob speichern

ich möchte ein Formular so absichern, das der Benutzer beim verlassen ohne zu speichern per Hinweis darauf hingewiesen wurde. Ähnlich bei Word mit "Änderungen Speichern?"

Ich dachte so grob an:
onChange -> variable füllen (ASP oder Javascript?)
beim wechseln der Seite die Variable ausgeben, wenn sie gefüllt ist.

Die Variable wäre am Besten in ASP verständlicher Form. (also Serverseitig)

  1. Hi,

    das Grundproblem ist, dass du keine Möglichkeit hast, den Benutzer am Verlassen der Seite zu hindern. Vielleicht eine der am ehesten funktionierenden Varianten wäre, mittels AJAX immer den aktuellen Formularstatus an den Server zu transferieren (da käme er dann auch als Request bei ASP an...) und dort irgendwo persistent (NICHT die Session, sondern etwas persistentes wie Datenbank, Datei o.ä.). Sollte ein Benutzer die Seite "aus versehen" verlassen haben, kannst du ihm die Daten nach seiner Rückkehr (sofern er sich anmelden muss und du ihn damit identifizieren kannst) wieder zur Verfügung stellen.

    MfG
    Rouven

    --
    -------------------
    ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|
    1. ich meine damit nicht das schliessen eines Browsers.
      Sondern z.B. das klicken auf den "zurück link" oder "home link" um z.B. in ein Hauptmenü zurückzukehren.

      1. Hi,

        Sondern z.B. das klicken auf den "zurück link" oder "home link" um z.B. in ein Hauptmenü zurückzukehren.

        jup, ich auch, denn aus Sicht des Browsers macht das wenig Unterschied (OK, außer das die Session eine Überlebenschance hat). Dir steht einzig und allein der onunload-Event zur Verfügung, aber du kannst keine aufwändigen Aktionen mehr ausführen und den Benutzer auch nicht daran hindern wirklich diese Seite zu verlassen.
        Einen echten Link kannst du natürlich mit einem confirm() überdecken, so dass der Nutzer sich wirklich explizit entscheiden muss, diese Funktion jetzt wahrzunehmen.
        Und schließlich, wenn du parallel ein nicht sichtbares Frame führst, dann hast du ebenfalls die Möglichkeit die Daten zu konservieren.

        MfG
        Rouven

        --
        -------------------
        ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|