[resolu]probleme concatenation chaine en javascript

probleme concatenation chaine en javascript [resolu] - HTML/CSS - Programmation

Marsh Posté le 05-03-2009 à 11:29:26    

Bonjour a tous,
voici mon problême :
j ai un formulaire basique qui contient diverses chose mais surtout 6 checkbox nommé de cette façon : Reponse1, reponse2 ... Reponse6
sur ce formulaire j'ai mit un appel de fonction en cas de "OnSubmit" cette fonction j'aimerait qu'elle aprcoure les 6 checkbox et verifie si elles sont cochées ou non.
 
voici mon code :
 
description du form
 
<form name='form1' action='page2.php' method='GET'  onSubmit='Reponse()'>
 
les 6 checkbox :
 
 for ($j=1;$j<7;$j++)
 {
  echo "<input type =checkbox value = ".$j." name =Reponse".$j." >".$j."";
  $Carac++;
 }  
 
donc normalement j ai Reponse1, Reponse2 .. Reponse6
 
voici la fonction javascript :
 
function Reponse()
{
 var k ;
var nomcase;  
     for(k=1;k<7;k++)
     {
         nomcase = "Reponse" + k ; //concatenation pour obtenir le nom de type Reponse1 etc
   
         if(document.form1.nomcase.checked == true)
         {
                  alert ('case cochée');
          }else{
           alert('case non cochée');
                  }
       }
}
 
mon problême est qu'apparament la concatenation de la variable nomcase dans la condition du if ne fonctionne pas... si je met Reponse1 au lieu de nomcase sa fonctionne bien, j aimerait juste eviter de faire 6 if de suite
voila en esperant avoir été assez clair ^^


Message édité par wurmike le 05-03-2009 à 15:04:41

---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 05-03-2009 à 11:29:26   

Reply

Marsh Posté le 05-03-2009 à 11:33:56    

document.form1.elements['Reponse'+i].checked


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 05-03-2009 à 11:38:31    

Merci fluminis c est nickel comme ça


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 05-03-2009 à 11:39:27    

Code :
  1. nomcase = "Reponse" + k ; //concatenation pour obtenir le nom de type Reponse1 etc
  2. if(document.form1.nomcase.checked == true)


 
La concaténation marche, c'est juste que quand tu écris document.form1.nomcase.checked ça va chercher un input dont le name est "nomcase"...

Reply

Marsh Posté le 05-03-2009 à 11:42:58    

ah ok et donc le elements[] permet de chercher un element dont le nom correspond a la valeur entre [] ?
 j'avait essayer avec getElementById mais sa ne fonctionnait pas non plus, surement une erreur bete d'ecriture
en tout cas merci a vous


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 05-03-2009 à 13:33:28    

document.getElementById fonctionnerait parfaitement si tu rajoutais un attribut id dans tes balises input.
 
d'ailleur au passage, ta syntaxe génère un code html invalide :
tu devrais ecrire :

Code :
  1. for ($j=1;$j<7;$j++)
  2. {
  3.   echo '<input type="checkbox" value="'.$j.'" name="Reponse'.$j.'"/>'.$j;
  4.   $Carac++;
  5. }


ie: mettre des " autours des attibuts. et fermer la balise input
 
deplus $Carac++; doit etre un vestige d'un test fait precedement mais dans ce cas ne sert à rien (si tu as besoin de $Carac sort le de la boucle et incremente le une seule fois de 6)


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 05-03-2009 à 15:04:08    

oui tout a fait c etait pour un test precedent oublier de le retirer ici.


Message édité par wurmike le 06-03-2009 à 11:28:59

---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed