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 :

Tableaux - déclarations


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par défaut Tableaux - déclarations
    Bonjour

    J'ai un peu du mal avec les tableaux la :'(

    M'en suis toujours sorti sans soucis dans mes applications en utilisant la syntaxe de base, mais la j'aimerais un truc un peu plus poussé et je bloque

    si je tapes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    skipper=new Array();
    skipper.genre=document.getElementById("skipper_genre");
    skipper.genre.value="Mr";
    skipper.genre prends bien ma valeur, à savoir l'adresse d'un objet input, mais si j'appelle skipper.length, cela me renvoye 0... :'(

    En fait j'aimerais coder un formulaire dynamique comportant plusieurs "blocs" d'infos, contenant chacun plusieurs champs de formulaire.

    Le but est de les structurer dans cet ensemble de tableau afin de pouvoir le parcourir et effectuer divers test sur les valeurs de ces champs.

    A l'aiiiiide svp :'(

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    skipper=new Array();
    skipper['genre']=document.getElementById("skipper_genre");
    skipper['genre']=new Array();
    skipper['genre']['value']="Mr";
    mais c'est un array litteral ...

    pour le parcourrir il faut utiliser une boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(monitem in skipper)
    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 éprouvé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par défaut
    euh oui mais :'(

    - la propriété length continue de me retourner 0
    - si je fait une boucle for in, il me liste aussi tout un tas de propriété et de méthodes dont je n'ai rien a kicker :'(


    N'y aurait-il pas moyen de régler mon problème en passant par des objets perso?

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    que veux tu faire au juste de ton tableau ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type='text/javascript'>
    var skipper=document.getElementById("skipper_genre");
    skipper.genre="Mr"; 
    alert(skipper.genre)
    </script>
    serait plus simple non ?
    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
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par défaut
    Bon le truc est assez complexe, donc en fait personne a rien compris

    J'ai une page avec un formulaire composé de différentes sections (mais un seul formulaire!)

    Ces sections pourront être visibles ou non selon ce qu'on remplis...

    Les informations de ce formulaire doivent servir lors de divers traitements, meme si cette partie du formulaire n'est pas affichée. Je dois aussi avoir l'adresse du champ disponible afin d'en changer le style.

    Enfin, je dois retenir pour chaque champ une variable décrivant son état (invalide,incomplet ou valide)

    Le formulaire doit évidemment être envoyé d'un coup un seul à la fin

  6. #6
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    je vois mais je ne comprends pas pce qui te bloque ...
    pourquoi vouloir passer par un tableau alors que les objets existent ?
    pourquoi ne pas les appeler directement ?
    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 !

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par défaut
    Parce que dans ma page c'est relativement graphique et que ca part dans tout les sens, et que j'aimerais structurer tout ca "logiquement" histoire de pouvoir repomper ensuite mes scripts et les adapter a n'importe quel formulaire en recodant juste cet "environnement de travail" (une description logique de l'architecture de travail)

    Puis aussi pour "rajouter" des propriétés qui n'existent pas aux champs de formulaire... :'(

    Je pourrais outrepasser tout ca bidouillant d'autre manière, mais j'aimerais franchement pouvoir coder des fonctions généralistes pour ne devoir modifier qu'un bloc d'info initilisant mes champs et le type d'info qu'ils doivent accueillir pour faire fonctionner le script sur n'importe quel formulaire :'(

  8. #8
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    suffit d'avoir un nommage rationnel des elements ... non ?
    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 !

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par défaut
    C'est a dire indiquer dans l'id un préfixe me disant de quelle section il s'agit, rajouter le nom du champ, puis finir par un prefixe me disant quel type d'info il doit accueillir...

    Ensuite devoir parser tout mon formulaire, traiter les id par une tripotée de fonctions sur les strings pour initialiser les champs, leur style, et les fonctions associées

    Ca me semble beaucoup de bidouillage :'(

    Enfin si rien ne vous viens a l'esprit ou si vous avez tjs pas bien compris le but (difficile a expliquer désolé, j'ai encore jamais vu un formulaire poussant le vice aussi loin) c'est pas grave, je finirai bien par me débrouiller

    Merci quand meme pour ces réponses

    Je reste open a d'autres solutions

  10. #10
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    ben à choisir entre faire un tableau comportant tous les éléments (donc à renseigner au préalable) et une appellation rationnelle ...
    ou alors je n'a pas siais toute la portée de la demande ...
    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 !

  11. #11
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    essaie de créer des objets...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    skipper=new Array(); 
    skipper[0]=new Genre("skipper_genre","Mr")
     
    function Genre(id,valeur){
    this.objet=document.getElementById(id); 
    this.value="Mr"; 
    }

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par défaut
    Citation Envoyé par SpaceFrog
    ben à choisir entre faire un tableau comportant tous les éléments (donc à renseigner au préalable) et une appellation rationnelle ...
    ou alors je n'a pas siais toute la portée de la demande ...
    Ben en fait il faudrait que l'input puisse se gérer tout seul, on tape qqch dedans, à chaque caractère tapé ca lance une fonction de vérification qui, selon le résultat, active différents effets visuels sur l'input...

    Il faut en plus que chaque input communique avec sa "section" histoire de vérifier si tous les champs de cette section sont valides pour effectuer un autre traitement (comportant lui aussi du visuel)... et evidemment que les sections communiquent avec le formulaire pour effectuer encore autre chose si tout est valide...

    Et j'ai pas vraiment envie de passer mon temps a jouer sur des chaines à concaténer etc, ca fait bricolage et le code perd grave en lisibilité


    Enfin, j'essayerai aussi avec le système proposé par Matthieu, mais suis tjs intéressé par d'autres idées, y'en a peut-être un parmis vous qui aura un éclair de génie :p mais je suis déja content avec vos réponses, ca me fait avancer dans ma réflexion

  13. #13
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    heu pour crée des objet vaut mieux passer par
    à ce moment là oui tu peux les mettre dans un array ...
    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 !

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par défaut
    ok merci, mais vu le nombre d'input que j'ai, le createElement c'est rebarbatif aussi

    merci a tous la meme si tjs des idées je prends :p

  15. #15
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    ben et creer les elements dans une boucle ?
    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 !

Discussions similaires

  1. [Tableaux] Déclaration dynamique d'une variable
    Par arnaudperfect dans le forum Langage
    Réponses: 9
    Dernier message: 30/03/2007, 16h27
  2. [Tableaux] Déclaration d'un tableau dans une classe
    Par rochenico dans le forum Langage
    Réponses: 4
    Dernier message: 22/12/2006, 11h29
  3. [Tableaux] Déclaration de variable
    Par méphistopheles dans le forum Langage
    Réponses: 4
    Dernier message: 15/12/2006, 16h31
  4. Réponses: 12
    Dernier message: 03/04/2006, 19h08
  5. [Tableaux] Déclaration d'un tableau à 2 dimensions
    Par kcizth dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2006, 15h35

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