Concurrence dans le onLoad()
Re-bonsoir à tous.
Je suis depuis ce midi sur un TP DOM qui est quasiment terminé.
Je rencontre un problème bien gênant cependant.
Dans le onLoad(), une fonction est appelée : elle charge le fichier XML et affiche le nombre d'entrées (ici des livres) trouvées dans ce dernier.
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 loadXML()
{
var listlivres;
var i;
var nbEpuises=0;
document.onkeypress = "function () { if ( event.keycode == 13 ) { rechercher(champ.value); } }";
xmlDoc = document.implementation.createDocument("", "doc", null);
xmlDoc.load("inventaire.xml");
alert("fuuuuu");
listlivres = xmlDoc.getElementsByTagName("livre");
listdisponible = xmlDoc.getElementsByTagName("dispo");
for (i=0 ; i<listlivres.length ; i++)
{
if (parseInt(listdisponible[i].childNodes[0].nodeValue) == 0)
{
nbEpuises++;
}
}
document.getElementById("title").innerHTML="<h1><font color=white>Consultation de la base de livres, actuellement "+listlivres.length+" livres dans la base, "+nbEpuises+" épuisés.</font></h1>"
} |
Le problème : si je n'applique pas le alert() au milieu du code, et bien le nombre de livres présents et en rupture de stock est à 0 ! Et lorsque le alert() est présent, les instructions sont correctement effectuées et j'obtiens les bons chiffres.
J'ai pu voir des problèmes similaires sur le Net, mais je ne vois pas comment je pourrais appliquer leurs solutions à mon problème.
Merci pour toute aide !