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 :

Tableau associatif global


Sujet :

JavaScript

  1. #1
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut Tableau associatif global
    Dans le code principale i reste à zéro alors que dans la fonction Parc_dataHandler() il contient bien les valeurs attendues . Le tableau à pourtant une portée globale. Je ne comprends pas merci de votre aide ???
    Code principale
    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
    <script src="DB.js"></script>
     
    <script type="text/javascript" charset="iso-8859-1">
    var list_Array = new Array();
     
    read_Parc(db);
     
    	var i=0;
     
    	for(index in list_Array) {
    		i++;
    	}
     
    	alert("i=" + i);
    </script>
    DB.js
    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
    function Parc_dataHandler(transaction, results) { 
     
    	for (var i=0; i<results.rows.length; i++) { 
    		var row = results.rows.item(i); 
    		list_Array[row['Ref']] = row['Nom'];
    	}
    	alert("i=" + i);
    }
     
    function read_Parc(db){
    	db.transaction(
    		function (transaction) { 
    			transaction.executeSql("SELECT * from Vehi;", [], function(transaction, results){
    						Parc_dataHandler(transaction, results)	}, errorHandler);
    			} 
    		);
    }

  2. #2
    Membre régulier Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 116
    Points
    116
    Par défaut
    Tu as testé dans read_Parc(db) de l'utiliser comme fonction et de retourner ton tableau ?

  3. #3
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je n'y arrive pas. J'avoue ne pas maîtriser les objets DB, mais je n'ai pas le choix cette structure m'est imposée.
    Que ce soit passer des tableaux paramètre, retourner des valeurs ou utiliser des variables globales, rien n'y fait ?

    ------ ----

    Je viens de rajouter ceci alert("OK"); là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function read_Parc(db){
    	db.transaction(
    		function (transaction) { 
    			transaction.executeSql("SELECT * from Vehi;", [], function(transaction, results){
    						Parc_dataHandler(transaction, results)	}, errorHandler);
    			} 
    		);
    alert("OK");
    }
    Il semble que l fait de passer la main à l'utilisateur mette fin à un évènement. J'ai essayé de mettre un setInterval() à la place de alert() mais ca ne change rien.
    Tous les problèmes de passage de variable etc, viennent de là en fait.

    Vous avez une idée ?

  4. #4
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Je suis pas sur mais peut être faut-il déclarer index avant le for
    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
     
    <script src="DB.js"></script>
     
    <script type="text/javascript" charset="iso-8859-1">
    var list_Array = new Array();
     
    read_Parc(db);
     
    	var i=0;
                 var index;
    	for(index in list_Array) {
    		i++;
    	}
     
    	alert("i=" + i);
    </script>

  5. #5
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Merci pour l'effort SPACHFR, mais je pense que la déclaration dans ce cas est implicite. On pourrait écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(var index in list_Array)
    Mon problème se situe à mon avis avec le fonctionnement des Objets du WebKit.

    J'ai pour le moment contourné le problème en passant l'ID de l'objet DOM de destination à Parc_dataHandler(transaction, results, ID_Destination), le traitement se fait à l'intérieur.

    La fonction n'est absolument pas portable, ni réutilisable c'est ce que je voulais éviter.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. loop sur tableau associatif
    Par Plawi dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/02/2005, 11h29
  2. tableau associatif en asp ?
    Par bigsister dans le forum ASP
    Réponses: 5
    Dernier message: 26/01/2005, 16h47
  3. asp tableau associatif
    Par rfernandez dans le forum ASP
    Réponses: 6
    Dernier message: 19/12/2003, 18h58
  4. [langage] TRI TABLEAU ASSOCIATIF
    Par proner dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2003, 16h38
  5. [langage] Réinitialiser un tableau associatif.
    Par totox17 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2003, 16h29

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