Problème avec confirm() et AJAX

Problème avec confirm() et AJAX - HTML/CSS - Programmation

Marsh Posté le 23-10-2011 à 11:25:15    

Voilà mon problème :
 
Si je confirme (si je clique sur ok) cela appelle une page en php (dans ce cas 'ajout_dem.php') qui va s'executer mais sans recharger la page (d'où l'utilisation de l'ajax).  
 
Et lorsque je cliquer sur "Annuler" le php est quand même exécuter alors que j'ai bien mis la condition. Je ne comprend vraiment pas.
 

Code :
  1. function demande_jeu(w) {
  2.   var demande_j=confirm("Voulez-vous jouer contre "+w+" ?" );
  3.   if (demande_j==true)
  4.   {
  5. var xhr_conf = null;
  6. var URL4 = "ajout_dem.php";
  7. if(window.XMLHttpRequest)
  8.  xhr_conf = new XMLHttpRequest();
  9. else if(window.ActiveXObject)
  10.  xhr_conf = new ActiveXObject("Microsoft.XMLHTTP" );
  11. else
  12. {
  13.  alert("Votre navigateur ne supporte pas l'affichage de cette page (Javascript AJAX)" );
  14.  return;
  15. }
  16. URL4 = URL4 + "?dest="+w;
  17. xhr_conf.open("GET",URL4, false);
  18. xhr_conf.onreadystatechange = function()
  19. {
  20.  if(xhr_conf.readyState == 4)
  21.  {
  22.  /*rien*/
  23.  }
  24. }
  25. xhr_conf.setRequestHeader("Content-type", "application/x-www-form-urlencoded" );
  26. xhr_conf.send(null);
  27.   }
  28.   else return 0;
  29.   }

Reply

Marsh Posté le 23-10-2011 à 11:25:15   

Reply

Marsh Posté le 23-10-2011 à 19:43:16    

up

Reply

Marsh Posté le 23-10-2011 à 21:07:36    

Depuis quand le javascript peut-il conditionner l'exécution du PHP ?  
 
Processus d'execution d'une page php :  
 
PHP génére HTML -> Navigateur lit le HTML -> execution javascript, avant, pendant et après le chargement de la page.
 
Donc à partir du moment ou la page est renvoyée par le serveur, il n'en a rien à faire du javascript du navigateur


---------------
Blablaté par Harko
Reply

Marsh Posté le 24-10-2011 à 15:39:40    

C'est bizarre en effet, Ajax ne devrait pas se déclencher.
Mais l'erreur semble se trouver à un autre endroit que ce qui est montré ici, ou bien le code montré n'est pas exactement celui qui tourne.
 
Par exemple, le code suivant marche bien :

<html>
<head>
<script language="Javascript">
function demande_jeu(w) {
  var demande_j=confirm("Voulez-vous jouer contre "+w+" ?" );
  if (demande_j==true)
    alert("Oui" );
  alert("Fin de confirmation" );
  return true;
}
</script>
</head>
<body>
<input type="button" onClick="javascript:demande_jeu('toto');" value="Test 1">
</body>
</html>

Reply

Sujets relatifs:

Leave a Replay

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