Noelle: kann man für vor zurück button im browser - warnung ausgeben

hello! mir gehen wenn ich über die browser buttons, vor oder zurück gehe immer die daten des formulars verloren . kann man irgendwie eine warnung ausgeben, wenn man diese buttons betätigt.

Noelle

  1. Tach!

    mir gehen wenn ich über die browser buttons, vor oder zurück gehe immer die daten des formulars verloren . kann man irgendwie eine warnung ausgeben, wenn man diese buttons betätigt.

    Es gibt beim Navigieren auftretende Ereignisse. Aber besser als den Anwender mit Dialogen zu nerven wäre, den Zustand beim Ändern oder spätestens beim Verlassen im Session-Storage abzulegen und beim Erstellen des Formulars wieder einzufügen, falls vorhanden.

    dedlfix.

    1. Moin,

      Aber besser als den Anwender mit Dialogen zu nerven

      Ein Hinweis auf möglichen Datenverlust sehe ich nicht als „nerven”.

      Hinweis natürlich nur dann, wenn auch wirklich Daten bereits eingegeben wurden, nicht beim Betrachten und ungenutzten Verlassen eines Formulars.

      Frage in dem Zusammenhang: Wenn ich beim Eintippen Vorschläge per Ajax bekomme, ist das Event „oninput” bereits ausgelöst. Doch erst bei Übernahme eines Vorschlagswertes ist das Formular geändert. Wie könnte man da unterscheiden?

      Linuchs

      1. Hallo Linuchs,

        Frage in dem Zusammenhang: ...

        Kannst Du das genauer formulieren? An welcher Stelle willst du was unterscheiden? Das Schreiben des Vorschlagswertes ins Eingabefeld (also Zuweisen an die value Eigenschaft) löst - meine ich - kein input Event aus.

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Lieber Rolf,

          Das Schreiben des Vorschlagswertes ins Eingabefeld (also Zuweisen an die value Eigenschaft) löst - meine ich - kein input Event aus.

          das kann man aber implementieren, denn der Vorschlag muss ja ein HTML-Objekt sein, auf das man dann klickt/tippt... dispatchEvent z.B.

          Liebe Grüße

          Felix Riesterer

          1. Hallo Felix,

            klar kann man das. Aber ich weiß ja noch nicht, was Linuchs will - und meine Vermutung war, dass er bei Änderungen des input Elements zwischen "Der User tippt was ein" und "Der User wählt was aus der Vorschlagsliste" unterscheiden will. Und da wäre das Nichttriggern von input eine Hilfe.

            Rolf

            --
            sumpsi - posui - obstruxi
        2. Hallo Rolf,

          Das Schreiben des Vorschlagswertes ins Eingabefeld (also Zuweisen an die value Eigenschaft)

          Nicht also - das sind getrennte Vorgänge. In der Dokumentation aber nicht klar unterschieden.

          Beim Ändern des value durch die Tastatur oder durch Einfügen [Strg][V] feuert das oninput - Event und veranlasst die Ajax-Routine Vorschlagswerte zu holen und anzuzeigen.

          Wenn ein Vorschlag per Klick (oder Berührung) als value übernommen wird, ist das aus Sicht des Feldes ganz sicher auch ein Input, löst das oninput - Event aber nicht (erneut) aus. Jedenfalls nicht beim FF.

          Kannste hier gerne mit Ortsnamen mal testen.

          Gruß, Linuchs

          1. Hallo Linuchs,

            Wenn ein Vorschlag per Klick (oder Berührung) als value übernommen wird, ist das aus Sicht des Feldes ganz sicher auch ein Input, löst das oninput - Event aber nicht (erneut) aus.

            Ja, das ist generell so. Programmatische Änderungen des Feldinhaltes triggern kein change- oder input-Event, das muss man - wenn man es will - mittels dispatchEvent selbst tun. D.h. ein CustomEvent Objekt anlegen und mit dispatchEvent abfeuern. Nicht das InputEvent. Die speziellen Felder dieses Events kriegst Du vermutlich eh nicht bestückt, und der IE kennt es nicht, d.h. da müsstest Du unterscheiden oder hinnehmen, dass ein Teil der Logik auf dem IE nicht so läuft wie erwartet.

            Der Unterschied zu einem vom DOM getriggerten Event und einem dispatchEvent ist, dass bei dispatchEvent der Eventhandler synchron läuft.

            Zurück zur Frage: Was willst Du erreichen? Ein Event, wenn du per Script den Value ändest? Statt ein Event zu dispatchen, könntest Du auch einfach die Behandlungsroutine direkt aufrufen.

            Rolf

            --
            sumpsi - posui - obstruxi
            1. Hallo Rolf,

              Zurück zur Frage: Was willst Du erreichen?

              Habe ich gerade per Edit ausführlich beschrieben, inzwischen durch deine prompte Antwort ging aber das Edit-Recht und mein Text verloren.

              Ich wollte diskutieren, wann der Hinweis „Daten gehen verloren“ beim Verlassen der Seite angezeigt werden soll.

              Schon bei Eingabe eines (unvollständigen) Suchbegriffs?

              Das Programm kann nicht unterscheiden, ob „Neustadt” ein vollwertiges Value ist oder nur die Aufforderung an Ajax, neue Städte vorzuschlagen.

              Ich denke, sicherheitshalber ein Hinweis mehr als einer zu wenig.

              Schon öfter gingen mir Edit-Texte verloren. Ein Hinweis „du kannst nicht mehr speichern“ Wäre hilfreich, dann kann man den Text noch in die Zwischenablage retten.

              Linuchs

              1. Hallo,

                Ich denke, sicherheitshalber ein Hinweis mehr als einer zu wenig.

                das kommt auf den Einzelfall an und darauf, wie schwerwiegend die Konsequenzen sind. Bei einem Formular mit zwei kurzen input-Elementen sind die eingetragenen Werte vermutlich schneller wieder geschrieben, als das Lesen, Verstehen und Bestätigen ("Wegklicken") der Info-Meldung dauert.

                Andererseits reduziert sich der Aufmerksamkeitswert und damit die Wirksamkeit von häufig auftretenden Meldungen. Wie oft habe ich schon Leute gesehen, die reflexartig irgendeine Meldung mit "OK" bestätigen, obwohl sie sie gar nicht gelesen hatten: "Was war denn das für 'ne Meldung?" - "Keine Ahnung. Irgendein komischer Fehler. Das kommt immer."

                Schon öfter gingen mir Edit-Texte verloren. Ein Hinweis „du kannst nicht mehr speichern“ Wäre hilfreich, dann kann man den Text noch in die Zwischenablage retten.

                Das nachträgliche Editieren eines Beitrags sollte ja eigentlich auch eine Ausnahme sein.

                Live long and pros healthy,
                 Martin

                --
                Home is where my beer is.
              2. Hallo

                Ich wollte diskutieren, wann der Hinweis „Daten gehen verloren“ beim Verlassen der Seite angezeigt werden soll.

                Schon bei Eingabe eines (unvollständigen) Suchbegriffs?

                Das Programm kann nicht unterscheiden, ob „Neustadt” ein vollwertiges Value ist oder nur die Aufforderung an Ajax, neue Städte vorzuschlagen.

                Wenn in einem Formular auf einer Webseite ein Suchbegriff eigegeben wird, wird die Seite doch erst verlassen, wenn man sie bewusst wechselt oder das Formular abschickt? Ob innerhalb der Seite der Server per Ajax kontaktiert wird, um das Dokument/Formular mit den Suchvorschlägen zu ergänzen, sollte doch unerheblich sein, weil dabei die Seite nicht verlassen wird.

                Tschö, Auge

                --
                Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
                Hohle Köpfe von Terry Pratchett
                1. Hallo Auge,

                  er möchte unterscheiden, ob ein Feld nur teilausgefüllt ist oder vollständig. Und bei teilausgefüllt soll es keine Warnung geben. Denke ich.

                  Allerdings kann man auch nicht unterscheiden, ob ein Anwender "Darmstadt" eingetippt hat oder nur "Darm" und dann den Vorschlag geklickt hat. D.h. wenn man sich merkt "Feld wurde nur betippt, aber kein Dropdown-Vorschlag übernommen" kann das ebenfalls irreführend sein. Eingetippte Mindestlängen sind auch so eine Sache. Au? Oder Augsburg? Ich glaube, man bekommt es immer nur teilbefriedigend hin.

                  Rolf

                  --
                  sumpsi - posui - obstruxi
                  1. Hallo

                    er möchte unterscheiden, ob ein Feld nur teilausgefüllt ist oder vollständig. Und bei teilausgefüllt soll es keine Warnung geben. Denke ich.

                    Soweit, so klar. Nur, warum sollte eine solche Warnung überhaupt erscheinen, wo doch in dem Szenario „Nachladen von Suchvorschlägen per Ajax“ die Seite überhaupt nicht verlassen wird? Um die Warnung vor Datenverlust (nicht abgeschickte Formulardaten) beim (unbeabsichtigten) Wechsel von einer Seite mit Formular zu einer anderen Seite ging es doch, oder?

                    Tschö, Auge

                    --
                    Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
                    Hohle Köpfe von Terry Pratchett
                    1. Hallo Auge,

                      ging es nicht um die Vor-/Zurück-Buttons des Browsers?

                      Rolf

                      --
                      sumpsi - posui - obstruxi
                      1. Hallo

                        ging es nicht um die Vor-/Zurück-Buttons des Browsers?

                        Öhhm, ja. Aber was hat das mit dem nachladen von Daten per Ajax zu tun?

                        Tschö, Auge

                        --
                        Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
                        Hohle Köpfe von Terry Pratchett
                        1. Hallo Auge,

                          nichts. Ajax ist, wenn ich das richtig verstehe, Nebensache. Mittels Ajax wird die Vorschlagsliste ermittelt.

                          Und es geht Linuchs darum, ob ein Feld „ordentlich“ ausgefüllt ist oder nicht. Es ist nicht „ordentlich“ ausgefüllt, wenn man nur angefangen hat zu tippen, eine Vorschlagsliste gekommen ist und man nichts ausgewählt hat.

                          Und die Warnung "Hey, Vorsicht, du könntest Daten verlieren" will er nur ausgeben, wenn „ordentlich“ ausgefüllte Felder auf der Maske sind.

                          Stimmt das so, @Linuchs?

                          Parallel diskutieren wir noch über die UX einer solchen Warnung und über die grundsätzliche Unterscheidbarkeit von Ordentlich und Unordentlich (siehe z.B. Au vs Augsburg oder Burg (Sachsen-Anhalt) vs Burghausen).

                          Oder ich bin komplett neben der Spur. Kann ja auch sein.

                          Rolf

                          --
                          sumpsi - posui - obstruxi
      2. Tach!

        Aber besser als den Anwender mit Dialogen zu nerven

        Ein Hinweis auf möglichen Datenverlust sehe ich nicht als „nerven”.

        Wenn es nur bei "einem" Hinweis bliebe, wäre das ok. Der Datenverlust tritt aber jedes Mal auf, so dass jedes Mal der Hinweis wegzudrücken ist. Und dass es nicht nur ein einmaliges Vorkommen ist, kann man aus der Frage ableiten, denn bei nur einem Verlust auf weiter Ebene lohnt sich eine Lösungssuche nicht.

        dedlfix.

        1. Der Datenverlust tritt aber jedes Mal auf

          Du meinst, beim Klick auf Vorwärts- oder Rückwärts-Button des Browsers?

          Ich doch einfach zu beheben. Bei Anzeige der Warnung den „geändert“ - Merker löschen und erst bei erneuter (zusätzlicher) Eingabe wieder aktivieren.

          Was passiert denn mit der Warnung, wenn man blättert? Sie bleibt doch stehen und ist bei jedem Vorbeikommen sichtbar, bis eine Reaktion des Lesers erfolgt. Also ist programmtechnisch nichts zu veranlassen.

          Linuchs

        2. Hi there,

          Aber besser als den Anwender mit Dialogen zu nerven

          Ein Hinweis auf möglichen Datenverlust sehe ich nicht als „nerven”.

          Wenn es nur bei "einem" Hinweis bliebe, wäre das ok. Der Datenverlust tritt aber jedes Mal auf, so dass jedes Mal der Hinweis wegzudrücken ist.

          Naja, das könnte man zur Not noch mit einem Cookie lösen, aber ich halte diesen Ansatz generell für falsch - es ist meiner Meinung nach nicht notwendig, den Anwender vor ganz normalem und gewohntem Browserverhalten zu "warnen". Das passiert ja nicht nur auf der Seite von Linuchs oder wer immer diesen komischen Thread eröffnet hat, das passiert auf jeder Seite, daß die eingegebenen Formulardaten weg sind, wenn man sich in der Browserhistorie hin und her bewegt. Und in dem Sinne wäre die richtige Warnung bei Anwendern, die so eine Warnung benötigen, jene, die sie darauf aufmerksam macht, den Computer besser gleich gar nicht einzuschalten...

          1. Hallo klawischnigg,

            Und in dem Sinne wäre die richtige Warnung bei Anwendern, die so eine Warnung benötigen, jene, die sie darauf aufmerksam macht, den Computer besser gleich gar nicht einzuschalten...

            Hier ist es doch guter Brauch, Anfänger, Behinderte (Barrierefreiheit) und alte Menschen mitzunehmen.

            Ich habe etliche User, die fragen, was ein Browser ist und nicht in der Lage sind, eine Web-Adresse in die Adresszeile des Browsers einzugeben.

            Nicht weil sie doof sind, sondern weil ihr Rechner mit einem Browser geliefert wurde, der von Google wie vom Teufel besessen ist und gar keine Adresszeile hat. Jeder Gedanke, jede Frage muss an Google, USA gemeldet werden. Und was Google USA nicht kennt, ist diesem Benutzerkreis verwehrt.

            Meine nicht verlinkten Webseiten mit Musik sind für diese Sänger und Musiker nicht aufrufbar.

            Eine sehr bedenklicher Missbrauch von Marktstärke.

            1. Hallo Linuchs,

              weil ihr Rechner mit einem Browser geliefert wurde, […] der gar keine Adresszeile hat.

              Das klingt nach Chrome im App-Modus. Um den wieder rückgängig zu machen, könnte es helfen, die entsprechende Verknüpfung zu bearbeiten. Siehe etwa https://meine-it-welten.de/google-chrome-im-app-modus-starten-ohne-adresszeile-und-register/

              Bis demnächst
              Matthias

              --
              Du kannst das Projekt SELFHTML unterstützen,
              indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
            2. Hi there,

              Und in dem Sinne wäre die richtige Warnung bei Anwendern, die so eine Warnung benötigen, jene, die sie darauf aufmerksam macht, den Computer besser gleich gar nicht einzuschalten...

              Hier ist es doch guter Brauch, Anfänger, Behinderte (Barrierefreiheit) und alte Menschen mitzunehmen.

              Schon, aber das kommt mir irgendwie so vor, wie wenn man auf einem Auto ein Schild anbringt, wo "Auto" drauf steht.

              Ich habe etliche User, die fragen, was ein Browser ist und nicht in der Lage sind, eine Web-Adresse in die Adresszeile des Browsers einzugeben.

              Ja, das Verhalten kenn' ich. Jede Url wird in Google eingegeben.

              Nicht weil sie doof sind, sondern weil ihr Rechner mit einem Browser geliefert wurde, der von Google wie vom Teufel besessen ist und gar keine Adresszeile hat. Jeder Gedanke, jede Frage muss an Google, USA gemeldet werden. Und was Google USA nicht kennt, ist diesem Benutzerkreis verwehrt.

              Das wiederum erstaunt mich zu hören. Von so einem Gerät hab ich noch nie gehört. Ich vermag mir erstens nicht vorzustellen, daß Du soviele Leute kennst, die so ein Gerät ihr eigen nennen und zweitens, daß man das nicht über irgendein Setup ändern kann.

              Meine nicht verlinkten Webseiten mit Musik sind für diese Sänger und Musiker nicht aufrufbar.

              Eine sehr bedenklicher Missbrauch von Marktstärke.

              Das ist richtig, aber auf der anderen Seite muß man auch sehen, solche Geräte, so sie mit diesem Handycap existieren, die fallen ja nicht einfach vom Himmel oder die liegen ja nicht friedlich am Wegesrand herum. Irgendjemand muß ja aus irgendeinem Grund ein paar hundert Euro (schätz ich jetzt einmal) in die Hand nehmen, und so eine Cripplehardware auch kaufen...

              1. Das ist richtig, aber auf der anderen Seite muß man auch sehen, solche Geräte, so sie mit diesem Handycap existieren, die fallen ja nicht einfach vom Himmel oder die liegen ja nicht friedlich am Wegesrand herum.

                https://www.google.com/intl/de_de/chromebook/shop/?gclid=EAIaIQobChMIsY-mxrKX6wIVj-3tCh3g7QCwEAAYASAAEgJObfD_BwE&gclsrc=aw.ds Ich kann mir gut vorstellen, dass diese Geräte genau so konfiguriert sind.