2009-06-22 6 views
3

Je développe une application rails. (Je ne pense pas que ce soit un problème spécifique aux rails) Il y a un processus de réservation qui est composé de 3 étapes. Lorsqu'un utilisateur est sur la page étape 2, si l'utilisateur clique sur le bouton «Précédent», les données de formulaire à l'étape 1 doivent être les mêmes que précédemment.Comment conserver les données de formulaire lorsque l'utilisateur clique sur le bouton Précédent

J'ai attaché "history.go (-1);" au bouton "Précédent".

Cela fonctionne sur mon navigateur firefox. Mais cela ne fonctionne pas sur certains navigateurs IE. Mon IE fonctionne bien.

Comment puis-je le forcer à conserver les données de formulaire lorsque la page est de retour?

Merci.

Sam

Répondre

3

Vous ne pouvez pas compter sur le client (javascript) pour ce type d'opération.

Vous enregistrez les données quelque part à l'étape 1, il vous suffit de les restaurer.

1

Vous pourriez sauver les données de la page 2 à la base de données, ou un cache serveur mémoire ou un cookie ou trois, et le restaurer lorsque la page est chargée.

+0

Oh, je veux garder les données de la page 1, pas celles de 2. Je n'ai pas besoin d'enregistrer des données sur la base de données. J'ai juste besoin de mettre en cache les données de formulaire. Mais certains navigateurs ne les mettent pas en cache. –

+0

Eh bien, vous devez le mettre en cache quelque part - je pensais que la base de données était un moyen relativement peu coûteux de le faire puisque (probablement) vous aurez besoin de stocker ces données à la fin du processus de soumission de toute façon. Modification de la réponse pour développer –

1

Regardez en ayant un iframe caché sur la page pour stocker les données. Je ne suis pas sûr des détails de l'implémentation, mais c'est la technique que les gens utilisent pour stocker l'état de la page lorsque le hachage change dans l'URL. Vérifiez si certaines bibliothèques comme dojo et jquery aident à supporter cette situation.

1

ASP.NET fait automatiquement via ViewState (note: l'article est ancienne, mais encore tout à fait exact). Peut-être que vous pouvez adapter une approche similaire à Rails.

Questions connexes