Erreur Objet Requis sur IE uniquement
Je réalise un site de galerie photo avec une base de donnée mysql et un XML crée à la volée en php qui est ensuite appelé en ajax , mon code marche partout nickel sauf sur IE
voila le bout de code ou l'erreur se produit : Objet Requis
Code:
1 2
| var artwork = docXml.getElementsByTagName('artwork');
document.getElementById('artwork').innerHTML = artwork[<?php echo $int_id_image;?>].firstChild.nodeValue; |
et mon javascript entier
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| <script type="text/javascript">
window.onload = function (){
request(readData);
}
var docXml;
function request(callback) {
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
callback(xhr.responseXML);
docXml = xhr.responseXML;
}
};
xhr.open("GET", "recup_images.php?nr=<?php echo $int_id_rubrique;?>", true);
xhr.send(null);
}
function readData(docXml) {
var MaxNode = docXml.getElementsByTagName('place_image').length;
//document.getElementById('spCompteur').innerHTML = MaxNode;
// Attention quand je récupère un élément par TagName je récupère un tableau d'ou le titre[0].firstChild.nodeValue;
var titre = docXml.getElementsByTagName('titre');
document.getElementById('title').innerHTML = titre[<?php echo $int_id_image;?>].firstChild.nodeValue;
var artwork = docXml.getElementsByTagName('artwork');
document.getElementById('artwork').innerHTML = artwork[<?php echo $int_id_image;?>].firstChild.nodeValue;
var chemin = docXml.getElementsByTagName('chemin');
document.images["monImage"].src = chemin[<?php echo $int_id_image;?>].firstChild.nodeValue;
return docXml;
}
var compteur = <?php echo $int_id_image;?>;
function suivant()
{
compteur++;
if (compteur == docXml.getElementsByTagName('image').length) {
compteur = 0;
}
afficheImage(compteur);
}
function precedent()
{
compteur--;
if (compteur < 0){
compteur = docXml.getElementsByTagName('image').length-1;
}
afficheImage(compteur);
}
function afficheImage(compteur){
var numero = parseInt(compteur);
var chemin = docXml.getElementsByTagName('chemin');
var titre = docXml.getElementsByTagName('titre');
var artwork = docXml.getElementsByTagName('artwork');
// Attention quand je récupère un élément par TagName je récupère un tableau d'ou le titre[compteur].firstChild.nodeValue;
document.getElementById('title').innerHTML = titre[compteur].firstChild.nodeValue;
document.getElementById('artwork').innerHTML = artwork[compteur].firstChild.nodeValue;
document.images["monImage"].src = chemin[numero].firstChild.nodeValue;
}
document.onkeydown = function(e){
if (e.keyCode == 37)precedent();
if (e.keyCode == 39) suivant();
}
</script> |
Si quelqu'un à une idée empêcher cette erreur
Merci