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

Irresistibledemon Messages postés 98 Statut Membre -  
Irresistibledemon Messages postés 98 Statut Membre -
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 235 Statut Membre 44
 
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 4753 Statut Contributeur 846
 
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 98 Statut Membre 9
 
@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 4753 Statut Contributeur 846
 
Alors montre-nous le contexte :)
0
Irresistibledemon Messages postés 98 Statut Membre 9
 
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 98 Statut Membre 9
 
Information complémentaire, cette fonction (toto) est appelé lors de la validation d'un formulaire
0
Irresistibledemon Messages postés 98 Statut Membre 9
 
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 98 Statut Membre 9
 
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 98 Statut Membre 9
 
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 98 Statut Membre 9
 
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