Concatenation javascript

Bonjour,

je souhaite faire une concaténation comme ceci en javascript :

function verifier_reponses(rep, cpt)
{
   if (document.questions.chk+cpt+1.checked == true)
   {
    var x = 1;
   }
}


cpt est un numerique passé en parametre compri entre 1 et 4. en fait il faut que ca donne ca une fois la concaténation faite :
document.questions.chk11.checked ou chk21 en fonction de la valeur de cpt biensur.

je doute que ma syntaxe soit correcte car cela ne fonctionne pas

merci de m'éclairer !!!
Configuration: Windows XP
Firefox 3.0.3

6 réponses

  1. function verifier_reponses(rep, cpt)
    {
    var concat = cpt;
    concat+=1;
    if (document.questions.chk+concat.checked == true)
    {
    var x = 1;
    }
    }
    0
    1. En javascript, tu ne peux pas concaténer qulque chose au bout du nom d'une variable pour obtenir un autre nom de variable.
      Utilise un if, un switch ou un tableau
      0
      1. tu veux bien me montrer un exemple car je ne vois pas ce que tu veux dire.

        merci
        0
        1. version switch par exemple :
            switch (cpt) {
              case 11 :  if (document.questions.chk12.checked ) var x = 1; break;
              case 21 :  if (document.questions.chk22.checked ) var x = 1; break;
             }


          remarques : si cpt est un texte, il faut mettre '11' et '21' .
          if (condition) est exactement la même chose que if (condition==true) qu'on voit souvent.
          0
          1. oui mais le probleme c ke le cpt peut varier de 1 jusqu'a 20 ou meme 30 !
            0
            1. salut,

              il faut faire un petit coup de eval pour avoir une variable dynamique (dont le nom change)

              function verifier_reponses(rep, cpt)
              {
              
              var variable_dyn="chk"+cpt;
              if (document.questions.eval(variable_dyn).checked == true)
              {
              //etc..
              //et return la reponse
              }
              }
              
              


              @lain
              0
          2. foreach cpt{
            if (document.questions.chk11.checked )
            {
            var x = 1;
            cpt++;
            }
            }
            0