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;
    }
    }
    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
      1. tu veux bien me montrer un exemple car je ne vois pas ce que tu veux dire.

        merci
        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.
          1. oui mais le probleme c ke le cpt peut varier de 1 jusqu'a 20 ou meme 30 !
            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
          2. foreach cpt{
            if (document.questions.chk11.checked )
            {
            var x = 1;
            cpt++;
            }
            }