Problème ie script ajax

Bonjour, je ne comprends pas grand chose a ajax, j'ai récupérer un script que j'ai modifié pour afficher une variable actualisée chaque seconde.

Ca fonctionne parfaitement bien sur les navigateurs sauf sur ie qui ne sort une erreur
document.getElementById a une valeur nulle ou ...

Sur ff, chrome et safari la variable se met bien a jour sur ie elle ne décompte même plus en rechargeant la page.

Est ce que quelqu'un si connait dans ce domaine ca fait 10 heures que je cherche et que je modifie mais rien a faire.
Je colle mon script en dessous

<script type="text/javascript">
function update()
{
var pageUrl="http://xxx/encherisseur.php?id=<? echo $id; ?>";
if(typeof ActiveXObject == 'undefined')
{
xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onload = writeIntoMyHTMLBlock;
}
else
{
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttpRequest.onreadystatechange = writeIntoMyHTMLBlock;
}

xmlHttpRequest.open("GET", pageUrl, true);
xmlHttpRequest.send(null);
}

function writeIntoMyHTMLBlock(str)
{
if(xmlHttpRequest.readyState==4 || xmlHttpRequest.readyState=="complete")
document.getElementById('MyHTMLBlock').innerHTML = xmlHttpRequest.responseText;
}

var xmlHttpRequest;
setInterval('update()',1000);
update();
</script>
<p id='MyHTMLBlock'></p>

et ma page encherisseur envoi une requete simple en php pour récupérer la variable.

Merci d'avance

5 réponses

  1. Modérateur
    Bonsoir,

    Merci de répondre ici en cliquant sur soit "j'ai une réponse" ou soit "ajouter un commentaire".

    Bonne soirée.
    0
    1. Hi,

      C'est quelle version d'IE ? Je crois me rappeller avoir eu des problèmes avec la fonction "getElementById" sous des vieilles version d'IE ...

      Simon
      0
      1. J'ai le même problème sur ie 8 et ie9 sur les autres plus vieux je ne teste pas.
        0
    2. A tout hasard, tu connais jQuery ? Pratique pour les requetes ajax et autres !
      0
      1. Le getElementById de IE se base souvent sur le nom.

        Essaye ça :

        <p id='MyHTMLBlock' name='MyHTMLBlock'></p>
        0
        1. pas faux ! et si ça ne marche pas, je pense que tu peux essayer aussi le "getElementsByName()" (je sais, les puristes me diront que c'est pas fait pour ça etc ... ne vous inquiétez pas, je m'auto-flagelle après :D)
          0