IE setzt Eingaben einer <select> Liste bei reload zurück
frank-ppl
- html
Hallo,
ich bin Anfänger in der HTML/PHP/JavaScript-Programmierung und eiere schon seit zwei Tagen mit folgendem Symptom rum:
Ich habe ein <select>-Feld (mit Monaten) in dessen onChange-Ereignis ein "location.reload()" hinterlegt ist. Hintergrund: Die Seite soll sich neu aufbauen und den darin mit Javascript generierten Kalender (document.write(Kalender(getElementById['auswahlliste'].value) anzeigen.
Im IE 8 hab ich jetzt folgendes Symptom: Das Auswahlfeld steht z. B. auf "Januar" (weil ich das mit "option selected" vorbelegt habe". Nach Auswahl eines anderen Monats erfolgt der reload. Allerdings wird immer wieder der vorher selectierte Monat Januar in der Auswahlliste eingesetzt (und es wird immer nur der Kalender für Januar generiert).
Im Firefox klappt alles wie gewünscht: Auswahl eines neuen Monats (zB. Februar), die Seite wird reloaded und baut den Kalender für Februar auf.
Wie kann ich den IE dazu bringen, dass wie im FF zu machen? Über welche "Parameter" kann man soetwas steuern=
Die obligatorische Suche bei google und co hat mir leider nicht weitergeholfen. Wäre toll, wenn mir da jemand helfen könnte.
Gruß
Frank
Hello,
Wie kann ich den IE dazu bringen, dass wie im FF zu machen? Über welche "Parameter" kann man soetwas steuern=
Das ist jetzt die Frage, was "richtig" ist...
Schalten wir mal alles aus (Chache, JavaScript, usw.).
Dann bedeutet "reload" "hole die Ressource erneut von der Original-URL"
Das würde für mich bedeuten, dass der IE sich "richtig" verhält und der Firefox dich bescheißt.
Ohne Kenntnisse deines JavaScripts, der Cacheeinstellungen der Browser und sonstiger Einflussmöglichkeiten (Session auf dem Server, Cookies, ...) kann man dazu mMn nichts sagen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Yerf!
Schalten wir mal alles aus (Chache, JavaScript, usw.).
Dann bedeutet "reload" "hole die Ressource erneut von der Original-URL"Das würde für mich bedeuten, dass der IE sich "richtig" verhält und der Firefox dich bescheißt.
Für mich auch und es hat mich ein paar graue Haare gekostet ihm das abzugewöhen... (cache-control:no-store)
Das ganze lässt sich aber nicht umkehren, so dass sich der IE anders verhält. Dazu wird etwas zusätzliches JavaScript nötig sein.
Man könnte die Auswahl z.B. in ein Cookie schreiben und beim OnLoad per JS nachschauen, ob etwas im Cookie steht und daaufhin die Auswahl abändern. Alternativ kann man auch über URL-Parameter die Auswahl weitergeben, indem man anstelle eines einfachen Reload auf eine neue Seite navigiert mit URL+Parameter.
Gruß,
Harlequin
Hi,
Ich habe ein <select>-Feld (mit Monaten) in dessen onChange-Ereignis ein "location.reload()" hinterlegt ist. Hintergrund: Die Seite soll sich neu aufbauen und den darin mit Javascript generierten Kalender (document.write(Kalender(getElementById['auswahlliste'].value) anzeigen.
Sinnvoller als an den Symptomen rumzufuhrwerken wäre es m.E., den Kalender nicht per document.write, sondern per document.createElement o.ä. (ggf. auch per innerHTML schreiben) zu erzeugen. Dann braucht's keinen Reload ...
cu,
Andreas