IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Raffraichissement bloc sous FF


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Par défaut [AJAX] Raffraichissement bloc sous FF
    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:

    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);
     
    }
    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
    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 &agrave; 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&eacute;</strong><br>&nbsp;
      					<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>";
    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;

    L'adresse de test : http://.......
    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Désolé, j'ai pas réussi à reproduire le problème avec FF...

    Mais plus important : tu développes un site marchand avec du code que tu ne comprends pas ? C'est pour le moins risqué comme façon de faire !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Désolé, j'ai pas réussi à reproduire le problème avec FF...
    !
    Quelle version de FF

    Citation Envoyé par Bovino Voir le message
    Mais plus important : tu développes un site marchand avec du code que tu ne comprends pas ? C'est pour le moins risqué comme façon de faire !
    Ben déja ce site est juste un projet perso d'apprentissage et la fonction je comprends son but et les différentes composantes, mais je n'en comprends pas le détails ligne par ligne...si tu est volontaire pour me la commenter je suis preneur

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 26
    Par défaut
    Bah c'est une requête ajax classique...
    Mais c'est vrai qu'attaquer l'ajax comme ça c'est plutôt hardu.

    Si je peux me permettre, je te conseillerai de commencer l'ajax avec la très fameuse librairie prototype.js (http://www.prototypejs.org/)

    Cette librairie te facilite grandement le javascript, et les requêtes ajax.
    De plus elle a l'avantage de rendre le code compatible tout navigateurs.

    Voilà pour l'ajax.Updater : http://www.prototypejs.org/api/ajax/updater

    Enjoy

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par Yop71-58 Voir le message
    De plus elle a l'avantage de rendre le code compatible tout navigateurs.
    ... et l'inconvénient de permettre au développeur de baser tout son site sur Ajax, sans en comprendre le fonctionnement (et donc les limites)

    Donc, oui pour la librairie, à condition d'avoir fait l'effort préalable de compréhension.

    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Par défaut
    Bobn ben c'est bien beau tout ça, mais est-ce que quelqu'un pourrait (au choix) :

    1 - Tester mon truc sur firefox et me dire quelle version il a et si le bug se reproduit
    2 - Regarder mon code et me dire ce qui ne vas pas dedans le cas échéant
    3 - Me donner quelques commentaire sur ma fonction ajax pour me donner les bases de la compréhensions du truc

    Pour le reste, je sais que plein de choses existent pour faire plein de truc de plein de façon et que j'ai pas choisi la meilleure, mais je rappelle que je suis en phase d'apprentissage autodidacte du php (je suis salarié par ailleurs donc l'ordi c'est 2-3 heure par jour max) et que ce projet est un terrain d'apprentissage et que donc chaque chose en son temps...

    Merci de votre compréhension

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Par défaut
    Bon ben j'ai désinstallé puis réinstaller FF, j'ai toujours cet espèce de flash de raffraichissement sur le panier, rien n'y fait, j'ai le FF 2.0.014, et même en cliquant sur le mêm bouton plusieurs fois de suite, ça le fait en général 1 fois sur 2, c'est très étrange....

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Par défaut
    Bug trouvé, problème résolu...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Raffraichissement sous firefox
    Par furth dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 23/07/2007, 16h34
  2. [AJAX] ajax deplacement bloc
    Par kimcharlene dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/01/2007, 14h25
  3. [AJAX] livreor OK sous ff mauvais sous ie
    Par dj-julio dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/11/2006, 18h45
  4. Afficher un bloc sous condition
    Par taly dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 19/09/2006, 11h25
  5. [CSS] Problèmes de blocs sous IE
    Par rockingstone dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 12/05/2006, 20h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo