Confirmation de changement de page [Résolu]

Signaler
Messages postés
82
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
1 avril 2011
-
Messages postés
82
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
1 avril 2011
-
Salut tout le monde!

Je voudrais mettre en place un système de confirmation de changement de page.

Voici mon cas:
J'ai 2 frames :
- une frame "menu"
- une frame "contenu"

Le but du jeu est de pouvoir de demander la confirmation en cas de chargement d'une autre page dans ma frame "contenu", appelée par un lien de la frame "menu".
Par exemple si j'ai un formulaire dans ma frame "contenu" et que l'utilisateur change de page, demander par un confirm("voulez vous quitter le formulaire? toutes les infos seront perdues.")
Et si le choix est "annuler", annuler le changement de page.

Je pense qu'il faut se servir de l'évènement onunload, mais le problème c'est que je ne sais pas qui faire pour annuler le changement de page proprement dit.

Quelqu'un a t-il une solution à me proposer?

J'espère avoir été clair

-- message approuvé par Jean-Claude Van Damme --

4 réponses

Messages postés
82
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
1 avril 2011
1
Ben finalement j'ai trouvé tout seul

Il suffisait d'utiliser l'évenement onbeforeunload.

Dans mon body:
onbeforeunload="return('Les données du formulaire seront perdues!');"

Dès que le changement de page est effectué, une boite de message apparait (à la mainère d'un confirm):

Voulez-vous vraiment quitter cette page?
Les données du formulaire seront perdues!
Ok Annuler

Le fait de cliquer annule le changement de page.

Voilou

Par contre je ne sait pas si cette méthode fonctionne sur un navigateur autre que IE. A tester ...

-- message approuvé par Jean-Claude Van Damme --
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour,
un confirm dans le lien ?

[lien

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
82
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
1 avril 2011
1
Non cette solution ne me convient pas parce que le changement de page se fait par un lien placé dans une autre frame.

Il faut que j'éxecute mon script depuis la frame où se trouve mon formulaire.

-- message approuvé par Jean-Claude Van Damme --
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
si ce sont des liens qui font le changement de page,
il faut donc mettre return(confirm...) sur ces liens.

si c'est un formulaire, pas de lien donc !
( pourtant la question parle de "appelée par un lien" )
mais <form .... action="page appelée"../> alors
donc ajouter le return(confirm...) dans le onsubmit de ce form

et un script peut-être exécuté n'importe où depuis n'importe où.

et pour qu'on s'entende bien : un extrait du code serait bienvenu.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>