Revenir à l'endroit où l'on est lors de la soumission d'un formulaire

Le problème exposé dans ce sujet a été résolu.

Bonjour,

J'ai besoin de vos lumières.

J'ai un formulaire comprenant une trentaine de questions, que j'affiche l'une sous l'autre. J'ai réussi à mettre une div à droite en position fixe, ce qui me permet d'accéder au bouton "Enregistrer" à tout moment. Ce que j'aimerais, c'est que lorsqu'on valide le formulaire, on revienne à l'endroit où l'on était.

Quelques précisions supplémentaires :

  • on peut utiliser JavaScript, vu que c'est pour "du confort"
  • je ne souhaite pas utiliser Ajax

Merci d'avance pour vos réponses.

+0 -0

Salut !

Juste pour être sûr d'avoir compris : tu souhaites pouvoir enregistrer le formulaire à tout moment, mais revenir à, mettons, la première question non répondue quand on revient dessus ?

Dans ce cas, on devrait pouvoir jouer avec les ancres. Je sais que Firefox supporte <form action="#uneAncre">, et même s'il le traitement est un autre fichier (là où je suis moins sûr, c'est en cas de redirection, je n'ai jamais testé de rediriger vers une ancre précise, mais je ne vois pas vraiment pourquoi ça ne fonctionnerait pas).

+0 -0

Pas vraiment.

D'une, la personne peut répondre aux questions d'un formulaire dans le désordre et de deux, il peux très bien répondre à la question 15 puis la 25 puis enregistrer. J'aimerais revenir à l'écran qu'il avait sous les yeux au moment d'enregistrer (donc si avant d'enregistrer il était remonté à la question 5 ne pas l'emmener à la 25)

+0 -0

Heureusement que j'ai demandé, alors  ^^

Je pense qu'il est possible dans ce cas d'imaginer la sauvegarde d'une valeur de défilement que peuvent te donner certains scripts (jQuery te propose .scroll() et .scrollTop()), et de réappliquer cette valeur une fois le document (re-)chargé.

+1 -0

Je pense qu'il est possible dans ce cas d'imaginer la sauvegarde d'une valeur de défilement que peuvent te donner certains scripts (jQuery te propose .scroll() et .scrollTop()), et de réappliquer cette valeur une fois le document (re-)chargé.

Ymox

Tu peux tout simplement balancer cette valeur dans un champ caché au scroll.

Et au chargement de la page, si la valeur existe, ton JS scrolle au bon endroit. ;)

Tu remarqueras que le code en question utilise justement ce que nous t'avons mentionné  :p

En revanche, je ne sais pas si c'est considérable comme très propre le fait de changer le nom de la fenêtre pour conserver ces valeurs. Je me serais attendu plutôt à un cookie, plus portable à mon avis, même si probablement plus invasif.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte