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 :

nombre d'�l�ment d'un Array ?


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par d�faut nombre d'�l�ment d'un Array ?
    Bonjour,

    Je cherche � connaitre le nombre d'�l�ments d'un tableau associatif et bien qu'il semble bien initialis� avec des valeurs le nombre d'�l�ments retourn� est toujours 0.

    Je dois passer � cot� de quelque chose mais quoi ?

    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
     
    function test(){
    var tableau=new Array();
     
    tableau['nom']=$("#nom").val();
    tableau['prenom']=$("#prenom").val();
    tableau['phone1']=$("#phone1").val();
    tableau['cp']=$("#cp").val();
    tableau['rdv']=$("#rdv").val();
    tableau['civil']=$("#civil").val();
    tableau['phone2']=$("#phone2").val();
    tableau['mail']=$("#mail").val();
    tableau['observ']=$("#observ").val();
    tableau['nbr']=$("#nbr").val();
    tableau['total']=$("#total").val();
     
    alert(tableau['prenom']);
    alert(tableau.length);
     
    };
    le premier alert() me permet de v�rifier que le tableau n'est pas vide puisqu'il me renvoi la valeur du champ "prenom"

    quand au 2eme alert() il retourne toujours 0...

    Quelqu'un peut-il me dire pourquoi ?

    Merci d'avance pour vos r�ponses

  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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    voir FAQ ou contributions.
    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 �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par d�faut
    Bonjour Spacefrog,

    J'ai fait des recherche avec "array length" et d'autres (mais sans doute pas les bons) dans la FAQ mais rien ne m'aide � comprendre mon erreur

    Un ptit lien vers un point de la FAQ qui me fera comprendre ?

    Merci d'avance

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Salut.
    Le probl�me vient tout simplement du fait que les tableaux associatifs n'existent pas en JavaScript.
    La notation que tu utilises ne fait que cr�er un objet � la place du tableau, or un objet n'admet pas de propri�t� length.

    Dans ce cas, la question qui vient � l'esprit est pourquoi le length renvoie 0 et non undefined si length n'est pas un propri�t� des objets ?
    C'est assez simple, comme tu d�clares ta variable comme un tableau, cette variable h�rite par prototypage de la propri�t� length. Ensuite, quand tu d�finis la premi�re propri�t�, JavaScript transforme ta variable en type Object, la propri�t� length (initi�e � 0) est conserv�e par la variable mais plus mise � jour
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par d�faut
    Bonjour Bovino,

    Merci de ta r�ponse, j'avais commenc� � comprendre le probl�me...

    Je me suis laiss� tromper par ceci :

    Affectation de valeurs

    Pour cr�er un tableau associatif, il suffit de d�clarer une variable tableau, puis d'�crire le nom du tableau, suivi d'un nom de l'indice entre parenth�se et lui affecter une donn�e gr�ce � l'op�rateur d'affectation :

    MonTableau[0] = "Bonjour";
    MonTableau["Pierre"] = 12;
    MonTableau["Jean-Fran�ois"] = 25;
    J'essaye donc de m'en sortir comme ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    var objet=new Object();
     
    objet.nbrE=nbrE;
    objet.nbrA=nbrA;
     
    $.each(objet,function(i,e){alert(i+" : "+e)});
    Le but recherch� �tant de transmettre les champs d'un formulaire � une page via $.post.

    Je vais donc essayer de passer cet objet en deuxi�me param�tre (data) de ma requ�te.

    Bonne journ�e

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par d�faut
    au final j'arrive au r�sultat escompt� en transmettant mon objet � $.post comme ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    $.post("maPageCible.php",objet,function(data){$("#cible").html(data);});
    Merci pour votre aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 17
    Dernier message: 30/06/2014, 11h38
  2. [Smarty] Compter le nombre d'�l�ments dans un Array Smarty
    Par Dionyzos dans le forum Biblioth�ques et frameworks
    R�ponses: 2
    Dernier message: 10/02/2010, 12h29
  3. R�ponses: 3
    Dernier message: 04/10/2005, 15h13
  4. Compter le nombre d'�l�ment dans un tableau
    Par cryptorchild dans le forum Langage
    R�ponses: 6
    Dernier message: 08/07/2005, 13h01
  5. Comparaison de base et calculs du nombre d'�l�ments dans Bas
    Par BXDSPORT dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 19/07/2004, 08h00

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