[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:
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:
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.