Textbox verliert nach history.back() ihren Inhalt
Facetious
- javascript
Liebe Leute!
Ich habe ein ziemlich großes Formular, in welches persönliche Daten eingetragen werden.
Wenn der Benutzer einen fehler eingibt (per php abgefragt) verlinke ich ihn per javascript: history.back(;) zurück zum forumlar
eigentliches problem:
im firefox behält er die werte schon in den textboxen, dropdownlisten und radio buttons
im ie löscht er alles komplett raus
ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan
vielleicht kennt von euch hier jem. das problem und hat es schon irgendwie gelöst!
danke im vorraus und mfg
Facetious
Hi,
ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan
und bringt auch absolut nichts, wenn der Besucher Javascript deaktiviert hat oder über eine fremde Verlinkung auf diese Seite gekommen ist. Warum lädst Du die URL mit den Parametern nicht ganz normal?
freundliche Grüße
Ingo
naja
das mit js ist vorläufig egal
du meinst ich soll die parameter über die uri übergeben?
wenn ja, das is mir eigentlich zu umständlich
mfg
Ist nicht schwer mit den Sessions
Mit session_start und session_register solltest du hinkommen.
sessions sind nicht das problem,
das problem liegt dabei, dass ich die daten die in der session sind, wieder in die textboxen bekomm, bzw die radio buttons wieder anpasse, bzw. die richtigen daten in der drop down box auswähle!
das is das problem
mfg
Und wenn du statt history.back() einfach auf die vorhergehende php-Datei verweist? Dann werden die Session-Daten nochmals gelesen.
Und wenn du statt history.back() einfach auf die vorhergehende php-Datei verweist? Dann werden die Session-Daten nochmals gelesen.
hmm
das klappt nicht .. er schreibt trotzdem nix rein!
Ich denke du brauchst das hier:
http://www.php-faq.de/q/q-stil-normalform.html
Tag Facetious.
Wenn der Benutzer einen fehler eingibt (per php abgefragt) verlinke ich ihn per javascript: history.back(;) zurück zum forumlar
Unsinn, mit Verlaub. Entweder du prüfst komplett mit Javascript und setzt den Focus auf fehlerhafte Eingabefelder, oder du baust mit PHP ein Affenformular. Die Eingaben stehen doch im PHP-Script zur Verfügung, auch wenn sie fehlerhaft sind. Was also spricht dagegen, die getätigten Eingaben mittels echo in das Formular zu schreiben?
ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan
Sessions sind gut und schön, für dein Vorhaben m.E. jedoch reichlich überdosiert.
[dsf 3.6]
Siechfred
Wenn der Benutzer einen fehler eingibt (per php abgefragt) verlinke ich ihn per javascript: history.back(;) zurück zum forumlar
Unsinn, mit Verlaub. Entweder du prüfst komplett mit Javascript und setzt den Focus auf fehlerhafte Eingabefelder, oder du baust mit PHP ein Affenformular. Die Eingaben stehen doch im PHP-Script zur Verfügung, auch wenn sie fehlerhaft sind. Was also spricht dagegen, die getätigten Eingaben mittels echo in das Formular zu schreiben?
fehlerüberprüfung läuft auch per php .. nur die ausgabe an den benutzer dass so und so viele fehler aufgetreten sind, erfolgt per pop up mit js
ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan
Sessions sind gut und schön, für dein Vorhaben m.E. jedoch reichlich überdosiert.
naja .. wie soll es anders funktionieren wenn ie mir die werte rauslöscht, mozilla sie aber behält?
Tag Facetious.
fehlerüberprüfung läuft auch per php .. nur die ausgabe an den benutzer dass so und so viele fehler aufgetreten sind, erfolgt per pop up mit js
Der erforderliche JS-Code wird doch sicher von deinem PHP-Script erzeugt.
Sessions sind gut und schön, für dein Vorhaben m.E. jedoch reichlich überdosiert.
naja .. wie soll es anders funktionieren wenn ie mir die werte rauslöscht, mozilla sie aber behält?
Ganz einfach:
1. Eingabe von Daten in ein vom PHP-Script erzeugtes HTML-Formular
2. Daten aus dem Formular werden ungeprüft an das PHP-Script übergeben
3. das Script prüft die Gültigkeit:
a) die Eingaben sind gültig -> weiter bei 5
b) eine Eingabe ist ungültig -> weiter bei 4
4. erneute Ausgabe des Formulars, den value-Attributen der Formularfelder
werden die dem Script bei Schritt 2 übergebenen Eingaben zugewiesen,
gegebenenfalls wird der Benutzer durch ein Popup auf Fehler hingewiesen
(optional). Der Benutzer korrigiert die fehlerhafte Eingabe
-> weiter bei 2
5. die Daten werden verarbeitet. Ende des Scripts.
[dsf 3.6]
Siechfred
Hallo, Facetious,
eigentlich sollen Formulare ihre Werte behalten.
Da dies aber nicht immer klappt, könntest Du die eingegebenen Werte auch in Cookies speichern und beim erneuten Aufrufen der Seite in die Felder schreiben ...
Grüße,
Sebastian