Bonjour,
Je développe une boutique en ligne; J'ai une page showShop.php qui contient plusieurs bloc : boutique, panier, infos; le bloc boutique va chercher via une fonction ajax (ou js, j'avoue que je sais pas trop, je l'ai adapté pour mes besoins mais je ne la comprends pas), une chaine generée par boutique.php; dans cette chaine un bouton "commander" avec une fonction d'actualisation du panier; le problème, sous FF uniquement, lorsque j'appuie sur le bouton commander, j'ai, environ une fois sur 2, un "raffraichissement visible" du panier (ce que la fonction ajax est sensé éviter);or sous IE6 tout roule; auriez vous une idée ?
Le code :
Le chargement de la boutique via la fonction appelée sur le onload du body de showshop.php:
La partie de la chaine générée par boutique php, contenant le bouton et l'appel de la fonction (c'est dans une boucle, pour chaque élément de la base:
Code : 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 //Fonction ajax de mise a jour de div function actuAffiche(url,id) { var xhr_object = null; var position = id; if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest(); else if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); // On ouvre la requete vers la page désirée xhr_object.open("GET", url, true); xhr_object.onreadystatechange = function(){ if ( xhr_object.readyState == 4 ) { // j'affiche dans la DIV spécifiées le contenu retourné par le fichier document.getElementById(position).innerHTML = xhr_object.responseText; } } // dans le cas du get xhr_object.send(null); }
Les produits sont juste pour les tests, rien a voir avec le projet final; il faut donc cliquer sur le bouton "commander" pour voir l'effet et le bug sous Firefox;
Code : 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 $aStringResult=$aStringResult." <div class='$aClass' style='$aStyle'><Strong>$substrDesignation</strong> <div class='fondMiniature'> <div style='position:relative;top:".$top."px;left:".$left."px;'> <img src=$aPic width=$dst_w height=$dst_h> </div> </div> <div class='fondMiniatureCache'></div> <div class='textDesc'>$substrDescriptif</div> <div class='addCart'> <div class='prix'><strong>$prix</strong></div> <li class='drop'> <ul class='zbtnCaddie'><li><a href='#' title='Ajouter à votre commande' onmouseover='document.images[\"$idBtnPic\"].src=\"images/communes/site/caddieOver.gif\";' onmouseout='document.images[\"$idBtnPic\"].src=\"images/communes/site/caddieOut.gif\";'><span onmouseup='envoieRequete(\"panier.php?aId=$ID\",\"panier\",$ID);'><img src=\"images/communes/site/caddieOut.gif\" id='$idBtnPic' border='0'></span></a></li></ul> </li> </div> <form id='$formQuantityName' name='$formQuantityName' method='post' action='' class='formu' style='position:relative;top:-201px;left:195px;height:20px;float:left;'><strong> Quantité</strong><br> <select id='$selectQuantityName' name='$selectQuantityName' class='select'> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </form> </div>";
L'adresse de test : http://.......
Merci de votre aide
Partager