# Zurück Funktion



## brauner1990 (13. Apr 2011)

Schönen Guten Morgen Community,

schon wieder ein Topic von mir, ja ich weiß, aber so sind die Probleme getrennt.

Der Browserbutton "Zurück", sowie damit verknüpfte Funktionen (Backspace, javascript:history.back(),javascript:history.go(-1) o.ä.), möchte ich gerne überlisten. Den Link den man ja für Zurück benutzt habe ich bereits komplett überlistet, indem ich diese definiert habe auf "Start des Vorgangs" (sozusagen).

Nun beschreibe ich mal den Vorgang.
Ich fülle ein Formular aus, klicke auf Submit und die Seite wird "Modal" (also einen <div style="z-index:8000;background-color:grey;">CONTENT</div>). Wenn nun die nächste Seite angezeigt wird, ist ja neugeladen worden und somit ist auch das modale Fenster verschwunden. Soweit so gut. Nun rufe ich die Browser Funktion "Zurück" auf und bin auf der Seite vorher. Das ist gut und das ist schön, nur die Seite ist immer noch Modal und ich habe keine Ahnung wie ich dies beheben soll. Der Computer merkt sich ja alles und standartmässig wird der Div ja sowieso ausgeblendet, nur leider wird eben diese 
	
	
	
	





```
display
```
-Eigenschaft sich ja auch gemerkt und diese ist block und nicht hidden.

Ich bin für alle Möglichkeiten an Informationen und Ideen offen und bedanke mich schonmal.

P.S.: Ja ich habe google benutzt und die Forensuche, hier gab ich aber bei Seite 8 auf...waren immerhin 1000 Treffer und ich war bei 240


----------



## Niki (13. Apr 2011)

Mit javascript kannst du dich ja beim Laden der Seite reinhängen und fragen, ob das Element da ist und welche visibility es hat. Darauf solltest du dann ja eigentlich reagieren können.


----------



## brauner1990 (13. Apr 2011)

Niki hat gesagt.:


> Mit javascript kannst du dich ja beim Laden der Seite reinhängen und fragen,


Ich benutze Webdeveloper und habe darüber die Option "Cache deaktivieren" aktiviert. Da er mir die Seite aber sehr zügig anzeigt und es eigentlich auch mal ne Sekunde dauern kann, aufgrund vieler Daten.


Niki hat gesagt.:


> ob das Element da ist und welche visibility es hat. Darauf solltest du dann ja eigentlich reagieren können.


Das Element wird ja geladen, also ist es da. und die Visibility ist ja kurz vor dem abschicken true und beim laden false.

Kann sein das ich jetzt gerade nen Brett groß wie die Titanic vorm Kopf habe. Aber ne Lösung finde ich grad nicht bei dem Tipp.


----------



## Niki (13. Apr 2011)

Hab ich dich richtig verstanden?
Du hast ein Formular. Wenn dieses abgeschickt wird soll ein modales Fenster mittels einem div aufgehen. Dann wird zur nächsten Seite navigiert (Response vom Formular). Wenn du jetzt mittels Browser-Back-Button auf die vorherige Seite navigierst, möchtest du dass das modale div wieder deaktiviert wird?

Wenn das so ist müsstest du meiner Meinung nach am Ende der Seite Javascript hinzufügen, dass das div-Element holt und auf visible false setzt. Ich bin mir aber nicht sicher ob das klappt, aber ein Versuch wäre es wert.


----------



## brauner1990 (13. Apr 2011)

Niki hat gesagt.:


> Hab ich dich richtig verstanden?
> Du hast ein Formular. Wenn dieses abgeschickt wird soll ein modales Fenster mittels einem div aufgehen. Dann wird zur nächsten Seite navigiert (Response vom Formular). Wenn du jetzt mittels Browser-Back-Button auf die vorherige Seite navigierst, möchtest du dass das modale div wieder deaktiviert wird?


Richtig verstanden.


Niki hat gesagt.:


> Wenn das so ist müsstest du meiner Meinung nach am Ende der Seite Javascript hinzufügen, dass das div-Element holt und auf visible false setzt. Ich bin mir aber nicht sicher ob das klappt, aber ein Versuch wäre es wert.


Das Problem ist nur, sobald der Submit raus ist, dann wird die Seite weitergeleitet, aber auch erst dann und nicht früher soll das modale Fenster disabled sein. Der Submit ist aufgrund einer größeren Datenmenge länger dauernd und kann deswegen nicht, 
	
	
	
	





```
setModal(true)
```
, 
	
	
	
	





```
setModal(false)
```
, 
	
	
	
	





```
submit();
```


----------



## Niki (13. Apr 2011)

Ich würds ja auch nicht vor oder nach dem submit machen, sondern wenn die Seite, auf der sich das div befindet geladen wird. Dann sollte das div immer bei neubetreten der seite unsichtbar sein und erst beim klick auf den button sichtbar gemacht werden.


----------



## brauner1990 (13. Apr 2011)

Das ist es ja. Nur wenn du eine Seite "zurück" gehst, werden die zuletzt erkannten Einstellungen gewählt, sprich eingeblendetes ist eingeblendet, selektiertes ist selektiert usw.


----------



## Niki (13. Apr 2011)

ich glaube wir reden aneinander vorbei. mit hilfe von javascript solltest du eigentlich die möglichkeit haben, das div-element auf alle fälle beim laden der seite auszublenden. du brauchst einfach nur ein paar zeilen javascript, welche beim laden aufgerufen werden. also am ende der seite sowas in der art:


> <script language="javascript">
> var div = document.getElementById('<id_deines_divs>');
> div.style.visibility='false';
> </script>
> ...


----------



## brauner1990 (13. Apr 2011)

Niki hat gesagt.:


> ich glaube wir reden aneinander vorbei. mit hilfe von javascript solltest du eigentlich die möglichkeit haben, das div-element auf alle fälle beim laden der seite auszublenden. du brauchst einfach nur ein paar zeilen javascript, welche beim laden aufgerufen werden. also am ende der seite sowas in der art:



Die Idee war ja nichtmal schlecht!


```
<script language="javascript">
document.getElementById('<id_deines_divs>').style.display='none';
</script>
```
damit müsste es funktionieren und das tut es! (habs getestet)


----------

