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 :

Une erreur incompréhensible sur un tableau


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Une erreur incompréhensible sur un tableau
    Bonjour à tous,

    Sur cet exercice ultra-basique, j'obtiens "undefined" sur la lecture d'un tableau :

    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
     
    //3 tableaux tout bêtes
    var elem = new Array;
    elem[0] = "col_droite";
    elem[1] = "col_gauche";
    elem[2] = "centre";
    elem[3] = "footer";
    var hauteurs = new Array();
    hauteurs[0] = 422;
    hauteurs[1] = 422;
    hauteurs[2] = 630;
    hauteurs[3] = 624;
    var leStyle = new Array();
    leStyle[0] = "height";
    leStyle[1] = "height";
    leStyle[2] = "height";
    leStyle[3] = "top";
    Puis la lecture (qui bugue, donc)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(var i =0; i<elem.length;i++){
    	document.getElementById(elem[i]).style.leStyle[i] = hauteurs[i]+'px';
    }
    Pour la forme, et pour vérifier que les ID des divs sont OK, voici la structure de la page. Les 4 div concernés par la fonction sont bien présents :

    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
     
    <div class="dialog">
     <div class="hd"><div class="c"></div></div>
     <div class="bd">
      <div class="c">
       <div id="centre" class="s">
        <div id="menu"></div>
        <div id="inside_cont">
        	<div id="col_gauche"></div>
        	<div id="col_droite"></div>
        	<div id="footer"></div>
        </div>
       </div>
      </div>
     </div>
     <div class="ft"><div class="c"></div></div>
    </div>
    Résultat de firebug :
    document.getElementById(elem[i]).style.leStyle is undefined
    Et je ne vois pas pourquoi...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    de 0 à length ... un de trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(var i =0; i<elem.length-1;i++){
    	document.getElementById(elem[i]).style.leStyle[i] = hauteurs[i]+'px';
    }
    perso comme je me vautre souvent là dessus j'utilise cette syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var i=-1;
    while(elem[++i]){
    	document.getElementById(elem[i]).style.leStyle[i] = hauteurs[i]+'px';
    }
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Bonjour,

    Ca ne viendrait pas plutôt de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(elem[i]).style.leStyle[i]
    LeStyle n'est pas un attribut de style mais un tableau...


    devYan.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    aussi ^^


    essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(elem[i]).style[leStyle[i]]
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(var i =0; i<elem.length;i++){
    	document.getElementById(elem[i]).style[leStyle[i]]= hauteurs[i]+'px';
    }

Discussions similaires

  1. J'ai une erreur incompréhensible
    Par totoc1001 dans le forum MATLAB
    Réponses: 5
    Dernier message: 29/01/2007, 14h39
  2. [VB.Net] Pourquoi ai-je une Erreur SQL sur un update ?
    Par ndsaerith dans le forum Accès aux données
    Réponses: 3
    Dernier message: 03/08/2006, 11h32
  3. [C#] Pourquoi une erreur System sur la commande ExecuteReader ?
    Par heavydrinker dans le forum Accès aux données
    Réponses: 4
    Dernier message: 31/07/2006, 16h05
  4. [JRE] Erreur incompréhensible sur solaris
    Par Yoops dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2006, 14h39
  5. Réponses: 8
    Dernier message: 13/09/2005, 21h05

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