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] Rafraichir un div, bug d'affichage


Sujet :

AJAX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 91
    Par défaut [AJAX] Rafraichir un div, bug d'affichage
    Bonsoir à tous, après plusieurs recherche j'ai trouvé un script pour rafraichir un bloc div. Lorsque je le met dans mon body avec onload ma page devient n'importe quoi, tout les bloc div sont en deux fois sur la page mais le code source ne change pas, il affiche la page de code sans multiplié les div. Quand je change le div dans le js l'affichage reste le même. Que se passe-il ? Comment rafraichir ce bloc sans un bug d'affichage ?

    Merci d'avance

    Voici le .js :

    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
    26
     
    function refresh_div()
    {
    	var xhr_object = null;
    	if(window.XMLHttpRequest)
    	{ // Firefox
    		xhr_object = new XMLHttpRequest();
    	}
    	else if(window.ActiveXObject)
    	{ // Internet Explorer
    		xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
    	}
    	var method = 'POST';
    	var filename = 'index.php';
    	xhr_object.open(method, filename, true);
    	xhr_object.onreadystatechange = function()
    	{
    		if(xhr_object.readyState == 4)
    		{
    			var tmp = xhr_object.responseText;
    			document.getElementById('tchat').innerHTML = tmp;
    		}
    	}
    	xhr_object.send(null);
    	setTimeout('refresh_div()', 5000);
    }
    Le code html généré :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
    <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
    <script type="text/javascript" src="script.js"></script>
     
    <title>Mon site</title>
    </head>
    <body onload="refresh_div();">
    <div id="logo"></div>
     
    <div id="contenant">
    	<div id="information">
     
    Il y a actuellement 3 messages sur le tchat.<br /><br /><br />
    <a href="message.php">Afficher tout les messages</a>
     
    	</div>
    <div id="tchat">
    18:23:51 <b>Florent</b> n'ai <br />17:49:47 <b>Florent</b> Encore un test<br />17:42:33 <b>Florent</b> Lancement du tchat, si vous trouvez des bug dites le moi, et j\'essairai de les corriger. PS : Tout n\'est pas encore terminé<br />
     
    </div>
    <div id="formulaire">
    <form method="post">
    <label>Pseudo :</label> 
    <input type="text" name="pseudo"><br /><br />               
    <label>Message :</label> <input type="text" name="message" size="85">
    <input type="submit" value="Envoyer">
    </form>
    </div>
    </div>
    </body>
    </html>
    PS : j'ai pas vraiment le temps d'apprendre l'AJAX, déjà que je ne connais que très peu le JS et en plus c'est pour dans deux semaine.

  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
    Salut,
    A priori, j'imagine que ta requête renvoie une page HTML complète
    Ce qui est mal
    Ensuite,
    le code source ne change pas
    Ca c'est parce que le code source affiché est le plus souvent celui créé à la génération de la page, si tu es sous Firefox, installes Web Developper ou mieux Firebug et regarde le code source généré.
    Enfin, le prend pas mal, mais
    j'ai pas vraiment le temps d'apprendre l'AJAX, déjà que je ne connais que très peu le JS et en plus c'est pour dans deux semaine.
    Pour ma part, quand je connais pas un langage ou une techno, je me lance pas dedans...
    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
    Août 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 91
    Par défaut
    Bah c'est pour un tchat et c'est quand même mieux de rafraichir que le bloc concerné que de rafraichir la page entière, surtout si l'utilisateur est en train d'écrire un message et que la page est en train de se rafraichir...

    Merci quand même.

  4. #4
    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
    Citation Envoyé par sliverman Voir le message
    Bah c'est pour un tchat et c'est quand même mieux de rafraichir que le bloc concerné que de rafraichir la page entière, surtout si l'utilisateur est en train d'écrire un message et que la page est en train de se rafraichir...

    Merci quand même.
    Oup là, attention, ce que tu veux faire est tout à fait possible, il te suffit juste de renvoyer uniquement les informations dont tu as besoin plutôt qu'une page complète !
    Ou au pire, de filtrer dans ton retour de la requête les informations dont tu as besoin !
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 91
    Par défaut
    Je sais que c'est tout à fait possible mais je n'ai pas ces connaissances.

Discussions similaires

  1. [AJAX] rafraichir une div à l'ouverture d'une page asp
    Par dedein84 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/12/2008, 09h23
  2. [AJAX] rafraichir un div
    Par micka30 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/04/2008, 15h21
  3. [AJAX] Rafraichir un div après validation
    Par HeadQuaker dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 11/04/2008, 14h10
  4. div flottant : navigateurs avec bugs d'affichage
    Par php_de_travers dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 16/05/2007, 15h59
  5. [AJAX] rafraichir une div !
    Par omantherasta dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/12/2006, 17h35

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