Bonjour,
Je vous contacte car j'éprouve des difficultés à utiliser XMLHttpRequest...
En faite j'essaie d'actualiser automatiquement un <div> contenant seulement un bouton.
Chaque fois que je cliques sur ce bouton, j'écris dans un cookie, la valeur 0 ou 1 (dépendant de la valeur précédente de celui-ci).
Et je remplace le contenu du <div> ci-dessous par celui du fichier
bouton_activer.php ou
bouton_desactiver.php (dépendant de la valeur du cookie).
<div id ="neige">
<input type="button" value="Désactiver" onclick="ActiverDesactiver_Neige()"> <br />
</div>On arrive donc au problème suivant : le bouton change effectivement dés que je clique dessus mais seulement la première fois.
Note : J'ai listé tous les codes vous permettant de comprendre ci-dessousAlors si vous arrivez à voir où est ce que ça cloche car je suis à court d'idée.
Merci beaucoup...
Voici comment je procède :
function refresh_div(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';
if (GetCookie("neige_punbb") == "1")
{
var filename = 'bouton_desactiver.php';
}
else
{
var filename = 'bouton_activer.php';
}
xhr_object.open(method, filename, true);
xhr_object.onreadystatechange = function()
{
if(xhr_object.readyState == 4)
{
var tmp = xhr_object.responseText;
alert(tmp);
document.getElementById(div).innerHTML = tmp;
}
}
xhr_object.send(null);
}
Le bouton qui permet d'activer la chute de la neige est déclaré tel quel (dans le fichier bouton_activer.php) :
<input type="button" value="Activer" onclick="ActiverDesactiver_Neige()"> <br />
Le bouton qui permet de désactiver la chute de la neige est déclaré tel quel (dans le fichier bouton_desactiver.php) :
<input type="button" value="Désactiver" onclick="ActiverDesactiver_Neige()"> <br />
Les fonctions pour Ecrire et Lire un cookie :
function SetCookie(name, value, days) {
var expire = new Date ();
expire.setTime (expire.getTime() + (24 * 60 * 60 * 1000) * days);
document.cookie = name + "=" + escape(value) + "; expires=" +expire.toGMTString();
}
function GetCookie(name) {
var startIndex = document.cookie.indexOf(name);
if (startIndex != -1) {
var endIndex = document.cookie.indexOf(";", startIndex);
if (endIndex == -1) endIndex = document.cookie.length;
return unescape(document.cookie.substring(startIndex+name.length+1, endIndex));
}
else {
return null;
}
}
Et enfin, la fonction
ActiverDesactiver_Neige :function ActiverDesactiver_Neige()
{
if (GetCookie("neige_punbb" == "1"))
{
SetCookie("neige_punbb", "0", 30);
}
else
{
SetCookie("neige_punbb", "1", 30);
}
refresh_div("neige");
}