Salut tout le monde
Bon je sais qu'il y a déjà de nombreux sujet là dessus, mais je ne comprends pas pourquoi mon code ne fonctionne pas.
J'ai une page avec 2 formulaires qui contiennent des champs textes et un bouton sauvegarder (submit qui renvoie sur la même page) chacun.
Je souhaite prévenir l'utilisateur s'il ferme sa page ou qu'il change de page quand il n'a pas sauvegardé.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>ma page</title> <script type="text/javascript"> var modif=false; var modifContact=false; window.onbeforeunload = function(){ if (modif){ return confirm('Vous avez modifié des informations sur la société mais n''avez pas sauvegardé.\nContinuer ?'); } if(modifContact){ return confirm('Vous avez modifié des informations sur le contact mais n''avez pas sauvegardé.\nContinuer ?'); } } </script> <head> <body> <form action="#" name="form1"> <input type="text1" name="text1" onchange="modif=true;" /><br /> <input type="text" name="text2" onchange="modif=true;" /><br /> <input type="submit" name="envoieSociete" value="Sauvegarder" onclick="modif=false;" /><br /> </form> <form action="#" name="form2"> <input type="text" name="text3" onchange="modifContact=true;" /><br /> <input type="text" name="text4" onchange="modifContact=true;" /><br /> <input type="submit" name="envoieSociete" value="Sauvegarder" onclick="modifContact=false;"/> </form> </body> </html>
Voilà une version simplifiée de mon code. En gros, quand on modifie un champ texte, je souhaite qu'une variable prenne la valeur true et si on clique sur un bouton particulier que cette variable prenne la valeur false. Sur l’événement avant fermeture de page, si cette valeur est à true, on prévient l'utilisateur si false, on change de page.
Avec ça, rien ne se passe,
Si quelqu'un sait pourquoi, je suis preneur
Merci
Partager