Come conservare i dati del modulo quando si fa clic sul pulsante Indietro
-
06-07-2019 - |
Domanda
Sto sviluppando un'app Rails. (Non penso che questo sia un problema specifico delle rotaie) C'è un processo di prenotazione che consiste in 3 passaggi. Quando un utente si trova nella pagina del passaggio 2, se l'utente fa clic sul pulsante "Precedente", i dati del modulo nel passaggio 1 dovrebbero essere gli stessi di prima.
Ho allegato " history.go (-1); " al pulsante "Precedente".
Funziona sul mio browser Firefox. Ma non funziona su alcuni browser IE. Il mio IE funziona però.
Come posso forzarlo a conservare i dati del modulo quando la pagina è tornata?
Grazie.
Sam
Soluzione
Non è possibile fare affidamento sul client (javascript) per questo tipo di operazione.
I dati vengono salvati da qualche parte al passaggio 1, quindi ripristinarli.
Altri suggerimenti
cerca di avere un iframe nascosto nella pagina per archiviare i dati. Non sono sicuro dei dettagli dell'implementazione, ma questa è la tecnica che le persone usano per memorizzare lo stato della pagina quando l'hash cambia nell'URL. Controlla se alcune librerie come dojo e jquery aiutano a supportare questa situazione.
È possibile salvare i dati della pagina 2 nel database, o una cache della memoria del server, o un cookie o tre, e ripristinarli quando la pagina viene caricata.
ASP.NET lo fa automaticamente tramite ViewState (nota: l'articolo è antico, ma ancora abbastanza preciso). Forse puoi adattare un approccio simile a Rails.