Cocs: Zurück-Button ohne Funktion setzen

Hallo,

ist es irgendwie möglich, den Zurückbutton des Browsers zu deaktivieren bzw. es irgendwie so hinzubekommen, dass der User diesen nicht klicken kann.

Hintergrund:
Wenn ein Formular abgesendet wird und somit ein Script ausgeführt wird, der User dann aber über den Browser zurück geht um evtl. eine Korrektur durchzuführen (oder einfach nur nochmal zu gucken was er so eingegeben hat) und dann erneut das Formular absendet, wird das Script halt nochmal ausgeführt.

Danke und Gruß

Cocs

  1. Hi!

    ist es irgendwie möglich, den Zurückbutton des Browsers zu deaktivieren bzw. es irgendwie so hinzubekommen, dass der User diesen nicht klicken kann.

    Das Vorhaben ist Unsinn - der Zurück-Button ist dem User vertraut - diese Funktion zu deaktivieren störte die Usablility des UAs enorm!

    Wenn ein Formular abgesendet wird und somit ein Script ausgeführt wird, der User dann aber über den Browser zurück geht um evtl. eine Korrektur durchzuführen (oder einfach nur nochmal zu gucken was er so eingegeben hat) und dann erneut das Formular absendet, wird das Script halt nochmal ausgeführt.

    Dann überprüfe dieses eben _server_seitig - das ist per se die einzig Möglichkeit für Dich verläßlich zu arbeiten.
    Auf das (Nicht-)Verhalten des Browsers hast Du keinen _zuverlässigen_  Einfluß - Wowereit!

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. Hi!

    ist es irgendwie möglich, den Zurückbutton des Browsers zu deaktivieren bzw. es irgendwie so hinzubekommen, dass der User diesen nicht klicken kann.

    Nein.

    Wenn ein Formular abgesendet wird und somit ein Script ausgeführt wird, der User dann aber über den Browser zurück geht um evtl. eine Korrektur durchzuführen (oder einfach nur nochmal zu gucken was er so eingegeben hat) und dann erneut das Formular absendet, wird das Script halt nochmal ausgeführt.

    Das löst man, indem man als Antwort auf den POST-Request einen Location-Header mit der URL einer anzuzeigenden Seite sendet. Der Browser wird dann auf den POST-Request einen GET-Request stellen und den POST-Request nicht in die History aufnehmen. Ein "Zurück" bringt dann die Seite mit dem Formular, die ja auch schon nur mit GET aufgerufen wurde.

    Etwas anders sieht die Sachlage aus, wenn der Anwender mit einem Affenformular mehrere Runden dreht. Da bei diesen POST-Requests jedoch die Werteprüfung nicht erfolgreich war - weswegen du den Anwender ja eine neue Runde drehen lässt - sollte das keine Auswirkungen auf deinen Datenbestand haben, denn die erzeugen ja wieder nur eine Fehlermeldung.

    Lo!