onbeforeunload nicht wenn Formular abgesandt wird
Frank Spade
- javascript
Guten Tag,
nachdem mir hier geholfen wurde den Einsatz von onbeforeunload zu verstehen, wofür ich mich bedanken möchte, habe ich eine weitergehende Frage:
Es ist dem Eventhandler egal warum die Seite verlassen wird, oder ob der Browser etwa geschlossen wird.
Nun wüßte ich gerne, ob es möglich ist, diesen Aufruf zu unterdrücken, wenn ein auf der Seite befindliches Formular abgeschickt wurde, weil dann diese Frage ja keinen Sinn macht?
<script type="text/javascript">
window.onbeforeunload = function(){
return "Sie haben das Formular noch nicht abgeschickt. Wenn Sie diese Seite verlassen gehen Ihre Eingaben verloren.";
}
</script>
Als Seiteneffekt des Einsatzes von onbeforeunload wird nämlich das Cache gelöscht.
Herzlichen Gruß
Frank
Hallo,
Nun wüßte ich gerne, ob es möglich ist, diesen Aufruf zu unterdrücken, wenn ein auf der Seite befindliches Formular abgeschickt wurde, weil dann diese Frage ja keinen Sinn macht?
Beim Absenden des Formulars (onsubmit) löschst du einfach den Event-Handler wieder, also window.onbeforeunload = null; oder window.onbeforeunload = function () {};
Mathias
Hi!
Als Seiteneffekt des Einsatzes von onbeforeunload wird nämlich das Cache gelöscht.
Das mußt du mal etwas genauer erklären?
Wenn du onbeforeunload aufrufst, wird der Browsercache gelöscht??
Das kann ich nicht glauben.
Von welchem Browser sprichst du?
Es ist nicht möglich, mittels JS den Cache zu löschen und das ist auch gut so.
Wenn das passiert, dann wird es sich wohl um einen Browser-Bug handeln.
Hab da aber noch nie was von gehört...
BTW: Was mir gerade noch einfällt: Vor einiger Zeit wollte ich in SelfHTML mal nach onbeforeunload nachschauen und mußte feststellen, daß dieses dort überhaupt nicht erwähnt wird.
Und jetzt, nachdem es nun sogar die Geckos verstehen, könnte man mal was dazu schreiben. Mal so als Anregung für das Autoren-Team :)
Schöner Gruß,
rob