Controler le changement de page

Controler le changement de page - HTML/CSS - Programmation

Marsh Posté le 09-08-2007 à 16:24:07    

Bonjour,
 
 
J'aimerais controler le changement de page sur mon site web, c'est à dire lorsque l'utilisateur change de page, recuperer l'evenement et lui ouvrir une boite de dialogue pour lui demander confirmation de quitter la page ou non.
 
L'utilité de cette action est d'éviter à l'utilisateur de perdre toutes les informations d'un formulaire s'il quitte la page sans l'avoir validé.
 
Pour le moment voila ce que j'ai essayé :
 

Code :
  1. <script>
  2. function on_quit()
  3. {
  4. if (confirm('Etes-vous sûr de vouloir quitter la page ?'))
  5. return true;
  6. return false;
  7. }
  8. </script>
  9. <body unload="on_quit();">


 
ou encore
 

Code :
  1. <body unbeforeunload="return ("msg" );">


 
 
Le soucis c'est que dans le premier cas la boite de dialogue s'ouvre bien mais si je clique sur 'annuler' il quitte quand meme la page.
 
Dans le deuxième cas le unbeforeunload fonctionne bien, si je clique sur 'annuler' il reste bien sur la page et les infos du formulaire ne s'effacent pas mais si je veux quand meme quitter la page je dois cliquer 3 fois sur 'ok'...  :??:  Et je vois pas pourquoi ?
 
 
Si vous aves d'autres methodes je suis preneur.
 
 
Merci d'avance.

Message cité 1 fois
Message édité par Tonio94 le 09-08-2007 à 16:29:26

---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
Reply

Marsh Posté le 09-08-2007 à 16:24:07   

Reply

Marsh Posté le 09-08-2007 à 16:53:37    

Tonio94 a écrit :

L'utilité de cette action est d'éviter à l'utilisateur de perdre toutes les informations d'un formulaire s'il quitte la page sans l'avoir validé.
 


Ben en fait moi je te proposerais d'enregistrer ses données dans une variable de session au fur et à mesure qu'il les tape, via du ajax, ou alors juste quand il quitte la page, et tu les restores quand il y revient. Un peu plus de boulot, mais tellement mieux.

Reply

Marsh Posté le 09-08-2007 à 17:00:50    

C'est une idée mais j'ai plusieurs pages avec des formulaires, tout stocker dans des variables de session ca risque d'etre lourd. Et puis il reste toujours la possibilité que l'utilisateur quitte le navigateur...
 
Mais merci pour ta reponse.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed