[JS] Pb d'utilisation de confirm: opener null

Fermé
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 - 6 oct. 2011 à 21:01
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 - 11 oct. 2011 à 22:14
Bonjour,

Je tombe sur un pb que je n'ai jamais rencontré pour le moment avec la fonction confirm de javascript.
En effet je tente de demander une confirmation à l'utilisateur, en faisant une fonction du genre :
function toto() {
var res = confirm("confirmez vous ?");
if(res==true) alert("Merci d'avoir confirmé");
else alert("tant pis");
}
Rien de bien méchant quoi !!
MAIS !
Lorsque je fais appel à confirm dans ma page alors une erreur javascript se produit et m'indique que le window.opener.document est null, indefini ou mal formé.
Or je ne touche jamais cette propriété ....

Que ce passe t'il ?
Avez vous une piste ?

6 réponses

jojo673 Messages postés 210 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 9 avril 2014 44
6 oct. 2011 à 23:21
Cette fonction me semble correcte et fonctionne parfaitement chez moi. Le problème doit venir d'autre part.
Et en essayant de créer une page avec juste cette fonction toujours le même problème ?
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
Modifié par Mihawk le 7/10/2011 à 14:46
Bonjour,

Je trouve la syntaxe de ton if particulière, peut-être pose-t-elle des problèmes en cascade ?

Essaye :

function toto() { 
   var res = confirm("confirmez vous ?"); 
   if(res) { 
      alert("Merci d'avoir confirmé") 
   } else { 
      alert("tant pis"); 
   } 
} 

Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
0
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
7 oct. 2011 à 19:28
@jojo673 : Si je place ce code sur une page vide et que je l'exécute sur le même PC, même navigateur, pas de problème.
C'est forcement contextuel.

@Mihawk : Cela ne vient pas du if car si je mets seulement l'appel à confirm, cela échoue quand même avec la même erreur.

La fonction alert fonctionne normalement, et j'ai pas essayer prompt.
Je n'utilise pas de frames et j'ai essayer de définir window.opener = self; et il me sort une autre erreur qui n'a rien à voir.

J'ai oublié de préciser que ma fonction toto() est dans un fichier .js a part et ma page charge ce fichier (dans le <head></head>)
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
7 oct. 2011 à 21:06
Alors montre-nous le contexte :)
0
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
7 oct. 2011 à 22:02
J'ai pas le code sous les yeux et il est compliqué de le sortir de son contexte car c'est en Https et c'est des pages jsp
0
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
7 oct. 2011 à 22:41
Information complémentaire, cette fonction (toto) est appelé lors de la validation d'un formulaire
0
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
9 oct. 2011 à 08:02
Je pense que je vais vous mettre une partie du code et les entetes Html utilisé.
Au cas ou ce serait une histoire de DOCTYPE ou de je ne sais quoi d'autres ...
0
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
Modifié par Irresistibledemon le 10/10/2011 à 22:41
Page1.jsp :
<html> 
  <head> 
    <script type="text/javascript" src="fichierContenantFunctionToto.js">  
    </script> 
  </head> 
  <body> 
    <form name="initForm" method="post" action="./Page2.jsp"> 
      <input type="submit" value="Debut" /> 
    </form> 
  </body> 
</html> 


Page2.jsp :
<html> 
<head> 
  <script type="text/javascript" src="fichierContenantFunctionToto.js"></script> 
</head> 
<body> 
  <FORM name="ReqForm" id="ReqForm" method="post" action="./Page3.jsp" onSubmit="return toto()"> 
    <input type="submit" value="Fin" /> 
  </form> 
</body> 
</html> 


Dans fichierContenantFunctionToto.js :
function toto() {  
   var res = confirm("confirmez vous ?");  
   if(res) {  
      alert("Merci d'avoir confirmé")  
   } else {  
      alert("tant pis");  
   }  
return res ; 
}  


Ces pages sont accessibles seulement en HTTPS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
10 oct. 2011 à 22:43
Si j'exécute ce code en local avec des pages Html, il fonctionne très bien ...
Je ne vois pas d'où pourrai venir l'erreur .... :(
0
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
11 oct. 2011 à 22:14
Je vais essayer de positionner ces pages sur mon serveur pour pouvoir test ces source en HTTPS. cela permettrait de savoir si le HTTPS est la source de mes problèmes
0