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

L'auteur de ce sujet a trouvé une solution à son problème.
Staff
Auteur du sujet

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.

Llama ◦ FAQ PHPTuto WAMP

+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).

Evitez qu'on vous dise de les lire : FAQ PHP et Symfony 2Tutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Staff
Auteur du sujet

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)

Llama ◦ FAQ PHPTuto WAMP

+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é.

Édité par Ymox

Evitez qu'on vous dise de les lire : FAQ PHP et Symfony 2Tutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+1 -0
Staff

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.

Evitez qu'on vous dise de les lire : FAQ PHP et Symfony 2Tutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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