IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Concurrence dans le onLoad()


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    tu négliges le temps de chargement de ton document
    Il faut que tu attendes que ton document soit complètement chargé pour lire son contenu.

    D'après ce que j'ai pu trouver sur google il faut utiliser une fonction callback.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    xmlDoc.onload = function() 
    {
    taFonction()
    }

  3. #3
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Par défaut
    Sinon, tu fais un gestionnaire de tâches JS

Discussions similaires

  1. Gestion des levels dans un onLoad
    Par Kartel dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 20/10/2007, 19h26
  2. Concurrence dans un WebService .NET
    Par joKED dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 13/10/2007, 01h02
  3. Problème de concurrence dans mon updateCommand
    Par Freygolo dans le forum VB.NET
    Réponses: 7
    Dernier message: 07/06/2007, 08h32
  4. Définir un evenement à un objet dans l'onload
    Par partyboy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/03/2006, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo