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 :

accès à plusieurs champs de meme nom


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 27
    Par défaut accès à plusieurs champs de meme nom
    Bonjour,

    Je génère un formulaire de saisie de plusieurs lignes identiques. Pour éviter d'avoir 50 noms de variables différents je réutilise le même nom de champ pour chacune des lignes (le nom des variables n'est pas sufixé de l'indice de ligne). Tout fonctionne bien pour la transmission entre les pages ou ces champs sont considérés comme des tableaux. Par contre, en javascript je ne parviens pas à accéder à ces champs pour effectuer un contrôle de saisie.

    un extrait du formulaire :

    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
     
     <tr> 
                   <td> 
                      <div align="left"><input type="text" name="numCmd" size="50" maxlength="50" value=""></div>
                   </td>
                   <td> 
                      <div align="left"><input type="text" name="comCmd" size="50" maxlength="50" value=""></div>
     
                   </td>
                </tr>
     
                <tr> 
                   <td> 
                      <div align="left"><input type="text" name="numCmd" size="50" maxlength="50" value=""></div>
                   </td> 
                   <td> 
                      <div align="left"><input type="text" name="comCmd" size="50" maxlength="50" value=""></div>
                   </td>
     
                </tr>
    Tentatives d'accès infructueuses (appro est le nom du formulaire):
    document.appro.numcmd[0].value;
    document.forms["appro"].elements["numcmd"][0].value

    Voyez-vous comment faire pour accéder aux valeurs de ces champs ?

    Merci pour votre aide.

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName["numcmd"][0].value
    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 averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 27
    Par défaut
    Merci pour ton aide spacefrog mais malheureusement cette solution ne fonctionne pas non plus.

    Il y a moyen de s'en sortir en utilisant les indices des éléments du formulaire mais cela ne s'avère pas "très propre" comme développement je trouve.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
          for (var i=0; i<50;i++)
          {
             // on calcule l'indice des différents n° de commande
             idx = 1 + (i * 4)
             if (document.forms["appro"].elements[idx].value != "")
             {
                //contrôles
             }
          }
    Y a t'il une meilleure option ?

    Merci en tout cas.

  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 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
    je ne voudrais pas te contrarier... mais le code tu as mis n'a rien a voir avec celui que j'ai proposé ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    doucment.getElementsByName('???')[indice].value
    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 averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 27
    Par défaut
    Oui, la solution que tu as proposé ne semblant pas fonctionner, le code que je présente est une solution que j'ai trouvé pour accéder aux champs (elle fonctionne et je l'indique à destination de ceux qui rencontreraient le même problème que moi). Mais comme je l'indiquais auparavant, je ne la trouve pas très satisfaisante et je voudrais savoir s'il n'existe pas un meilleur moyen de procéder.

    Merci pour ton aide.

  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 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
    getElementByName fonctionne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      for (var i=0; i<50;i++)
          {
             // on calcule l'indice des différents n° de commande
             idx = 1 + (i * 4)
             if (document.getElementsByName("lenomduchamps").value != "")
             {
                //contrôles
             }
          }
    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 !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/08/2011, 10h47
  2. [MySQL] un lien pour plusieurs champ du meme nom
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/11/2007, 10h31
  3. [MySQL] Récuéprer deux champs au meme nom dans un Innerjoin
    Par easyjava dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/10/2006, 12h25
  4. [MySQL] Sélectionner deux champs du meme nom dans deux tables
    Par Msieurduss dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 14/06/2006, 22h54
  5. FieldbyName => deux champs du meme nom
    Par dacid dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/01/2005, 14h05

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