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 :

Probème vec getElementsByName


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Points : 86
    Points
    86
    Par défaut Probème vec getElementsByName
    Bonjour, je suis débutant, voicis mon PB

    j'ai une page html dans laquel j'affiche une liste de logiciels avec pour chaque logiciel une liste déroulante et 3 bouton radio.
    Pour chaque logiciel l'utilisateur doit cocher un bouton radio, et si il coche le premier il doit séléctionner un élément dans la liste.
    Le problème c'est que le nombre de logiciel est variable. Pour faire ma vérification j'utilise donc GetElementsByName et une boucle.

    mes listes déroulantes s'appellent
    corres1 corres 2 etc....
    et mes boutons radio type1 type2 etcc
    exemple:
    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 class="maLigne"><input type="hidden" name= "nom0" value="Correctif Windows XP - KB871250">Correctif Windows XP - KB871250</td>
                                             <td class="maLigne"><SELECT name="corres0" size="1">
                                           <option  value="0" selected="selected">Faites un choix</option>
                                                                                  </SELECT></td>
                                           <td class="maLigne"><input type="radio" name="type0" value="kea"></td>
                                           <td class="maLigne"><input type="radio" name="type0" value="non_kea"></td>
                                           <td class="maLigne"><input type="radio" name="type0" value="ignored"></td>
                                        </tr>
     
                                         <tr>
                                             <td class="maLigne"><input type="hidden" name= "nom1" value="Correctif Windows XP - KB873333">Correctif Windows XP - KB873333</td>
                                             <td class="maLigne"><SELECT name="corres1" size="1">
                                           <option  value="0" selected="selected">Faites un choix</option>
                                                                                  </SELECT></td>
                                           <td class="maLigne"><input type="radio" name="type1" value="kea"></td>
                                           <td class="maLigne"><input type="radio" name="type1" value="non_kea"></td>
                                           <td class="maLigne"><input type="radio" name="type1" value="ignored"></td>
                                        </tr>
    Voicis mon code javascript
    ( vali correspond au nombre maximal de logiciel affiché)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for(i=0; i<= document.ajout.vali.value; i++)
            {
     
     
     
                if (document.getElementsByName("type"+i)[0].checked == true  && document.getElementsByName("corres"+i).SelectedIndex == 0)
                {
     
                    alert("Veuillez choisir une correspondance avec ce logiciel");
                    return;
                }
            }
    mais je me retrouve avec l'erreur suivante:

    Erreur : document.getElementsByName("type" + i)[0] has no properties

    si qqn peut m'aider...MERCI

  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 638
    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 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    ton script est lancé à quel moment ?
    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 régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Points : 86
    Points
    86
    Par défaut
    lorsque je clique sur un bouton que j'ai mis en bas de la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" value="valider" onClick="javascript:mafonction();">

  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 638
    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 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    ce petit test fonctionne ...
    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
    21
    22
    23
    24
    25
    26
    27
    <table border="1" width="100%">
        <tr>
            <td width="33%">&nbsp;</td>
            <td width="33%">&nbsp;</td>
            <td width="34%">&nbsp;</td>
        </tr>
        <tr>
            <td width="33%">&nbsp;</td>
            <td width="33%">&nbsp;</td>
            <td width="34%">&nbsp;</td>
        </tr>
        <tr>
            <td width="33%">&nbsp;</td>
            <td width="33%"><input type="radio" name="nom1" /></td>
            <td width="34%">&nbsp;</td>
        </tr>
        <tr>
            <td width="33%">&nbsp;</td>
            <td width="33%">&nbsp;</td>
            <td width="34%">&nbsp;</td>
        </tr>
     
     
    </table>
    <script type='text/javascript'>
    alert(document.getElementsByName('nom1').length)
    </script>
    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 régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Points : 86
    Points
    86
    Par défaut
    oui j'ai '1' qui s'affiche. c'était un test pour voir si ca fonctionne ou une idée pour résoudre mon pb ? si tu pouvais m'éclairer
    Merci

  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 638
    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 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    ben je sais pas moi c'est ta boucle qui n'est pas bonne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i=0; i<= document.ajout.vali.value; i++)
    et surtour cette partie là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i<= document.ajout.vali.value;
    à mon avis tu sors des indices des éléments existants ...

    fais un alert sur le i tu verras bein sur lequel il plante ...
    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
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    c est un s minuscule a selectedIndex
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Points : 86
    Points
    86
    Par défaut
    apres vérif c'est au niveau du selectedIndex que y'a un PB, car si la case est coché il m'affiche bien le message ok (cf code en dessous) mais pas le "veuillez choisir...."
    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 checkinven()
     { 
     
      for(i=0; i<=document.ajout.vali.value; i++)
      {
     
       if (document.getElementsByName("type"+i+"")[0].checked == true)
       {
        alert("ok");
        if (document.getElementsByName("corres"+i+"").selectedIndex == 0)
        {
        alert("Veuillez choisir une correspondance avec ce logiciel");
        return;
        }
       }
      }
     
      alert("envoi");
     }

  9. #9
    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
    bah, tu oublies de demander l'indice de l'élément recherché...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName("corres"+i+"")[0]...;

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Points : 86
    Points
    86
    Par défaut
    Je ne comprend pas quel indice, peux u me donner un ex stp
    Merci

Discussions similaires

  1. [SQL] Probême de double curseur...
    Par plomy dans le forum Oracle
    Réponses: 7
    Dernier message: 17/01/2006, 11h17
  2. probème de concaténation
    Par claralavraie dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/12/2005, 16h42
  3. Probèmes connections serveurs IRC !
    Par Franck.H dans le forum Réseau
    Réponses: 9
    Dernier message: 22/10/2005, 18h45
  4. getElementsByName ou getElementById
    Par lepierre dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/10/2004, 15h44
  5. Probème de type entre access et delphi
    Par samlerouge dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/05/2004, 19h56

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