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 :

formulaire.elements[nomElement] avec nomElement de type string


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut formulaire.elements[nomElement] avec nomElement de type string
    Bonjour à tous,

    j'ai des checkbox dans un formulaire que j'identifie par checkbox_coli_linej (pour la cellule colonne i et ligne j qui les contient..)

    je souhaite faire une fonction javascript qui me coche tous les checkbox d'une colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function checkAll() { 
        var formulaire = document.forms["myForm"];
        for (var line=0; line<=nbUsers; line++) {
            var checkboxName = "user_col8_line"+line;
            formulaire.elements[checkboxName].checked=true;
        }
    }
    Mais le problème c'est qu'il ne reconnait pas l'objet formulaire.elements[checkboxName] (ERREUR : "elements[...] is null or not an object")

    Avez vous une idée pour résoudre ce problème ?

    Merci infiniment

  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 641
    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 641
    Points : 66 666
    Points
    66 666
    Billets dans le blog
    1
    Par défaut
    on peut voir les balises htm concernées ?

    leur name en particulier ?

    sinon essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     var checkboxName = "user_col8_line"+line;
            formulaire.elements[checkboxName][0].checked=true;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     var checkboxName = "user_col8_line"+line;
            document.getElementsByName[checkboxName][0].checked=true;

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 33
    Points
    33
    Par défaut
    oui j'y ai pensé et j'ai déjà essayé ça, ça donne toujours la même erreur.

    mes balises sont du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=checkbox name=user_col8_line1  checked >
    je les construis avec une boucle for, j'ai vérifié ça il n'y a pas de pb de syntaxe à ce niveau.

    J'ai l'impression que ce qui ne passe pas c'est de passer une variable comme nom de elements[]. Parce qu'en mettant le nom en dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formulaire.elements["user_col8_line1"].checked=true;
    ça marche

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 651
    Points : 11 145
    Points
    11 145
    Par défaut
    Il n'y a pas à dire un document.getElementById().checked est bien plus pratique qu'un formulaire.elements["user_col8_line1"].checked

    Code html : 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
     
    <html>
     
    <head>
     
    <title></title>
     
     
    <script type="text/javascript">
    <!--
    function cocherColonnne(colonne)
    {
      var nbLigne = document.getElementById("tableau").rows.length; // nombre de ligne dans le tableau
      var numColonne = colonne.cellIndex; // numéro de colonne cliquée
      var i;
      
      // remarques : la première ligne à l'index 0, la première colonne à l'index 0
      for (i=1; i<nbLigne; i++)
      {
        document.getElementById("checkbox_col" + numColonne + "_line" + i).checked = true;
      }
    }
    //-->
    </script>
     
    </head>
     
    <body>
     
     
    <table border="1" id="tableau" style="width: 800px">
      <!-- titres des colonnes (index de la ligne = 0) -->
      <tr style="text-align:center; font-weight: bold;">
        <td onclick="cocherColonnne(this)">
          cocher la colonne 0
        </td>
        <td onclick="cocherColonnne(this)">
          cocher la colonne 1
        </td>
        <td onclick="cocherColonnne(this)">
          cocher la colonne 2
        </td>
        <td onclick="cocherColonnne(this)">
          cocher la colonne 3
        </td>
        <td onclick="cocherColonnne(this)">
          cocher la colonne 4
        </td>
      </tr>
      <tr>
        <td>
          <input type="checkbox" id="checkbox_col0_line1">choix 0 1 <!--colonne 0 ligne 1-->
        </td>
        <td>
          <input type="checkbox" id="checkbox_col1_line1">choix 1 1 <!--colonne 1 ligne 1-->
        </td>
        <td>
          <input type="checkbox" id="checkbox_col2_line1">choix 2 1 <!--colonne 2 ligne 1-->
        </td>
        <td>
          <input type="checkbox" id="checkbox_col3_line1">choix 3 1 <!--colonne 3 ligne 1-->
        </td>
        <td>
          <input type="checkbox" id="checkbox_col4_line1">choix 4 1 <!--colonne 4 ligne 1-->
        </td>
      </tr>
      <tr>
        <td>
          <input type="checkbox" id="checkbox_col0_line2">choix 0 2 <!--colonne 0 ligne 2-->
        </td>
        <td>
          <input type="checkbox" id="checkbox_col1_line2">choix 1 2 <!--colonne 1 ligne 2-->
        </td>
        <td>
          <input type="checkbox" id="checkbox_col2_line2">choix 2 2
        </td>
        <td>
          <input type="checkbox" id="checkbox_col3_line2">choix 3 2
        </td>
        <td>
          <input type="checkbox" id="checkbox_col4_line2">choix 4 2
        </td>
      </tr>  
      <tr>
        <td>
          <input type="checkbox" id="checkbox_col0_line3">choix 0 3
        </td>
        <td>
          <input type="checkbox" id="checkbox_col1_line3">choix 1 3
        </td>
        <td>
          <input type="checkbox" id="checkbox_col2_line3">choix 2 3
        </td>
        <td>
          <input type="checkbox" id="checkbox_col3_line3">choix 3 3
        </td>
        <td>
          <input type="checkbox" id="checkbox_col4_line3">choix 4 3
        </td>
      </tr>  
     
    </table>
     
     
    </body>
     
    </html>

    Clique sur le titre de la colonne pour cocher toutes les cases de la colonne. Je gère l'événement onclick sur les titres de colonne.

  5. #5
    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 641
    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 641
    Points : 66 666
    Points
    66 666
    Billets dans le blog
    1
    Par défaut
    commence par utiliser une syntaxe html correcte ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="user_col8_line1"  checked >
    les quotes pour les attributs

Discussions similaires

  1. VB Tableau avec index de type string
    Par damd22 dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/11/2009, 18h42
  2. Réponses: 23
    Dernier message: 24/08/2007, 09h53
  3. problème avec une variable de type string
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/06/2007, 14h53
  4. [C# ASP.Net2.0] problem avec le type string
    Par wodel dans le forum ASP.NET
    Réponses: 5
    Dernier message: 17/01/2007, 14h03
  5. Réponses: 2
    Dernier message: 27/01/2006, 16h47

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