Cacher/Faire apparaitre dynamiquement une ligne dans un tableau

Cacher/Faire apparaitre dynamiquement une ligne dans un tableau - HTML/CSS - Programmation

Marsh Posté le 06-11-2009 à 17:32:57    

Bonjour,
J'aimerais faire apparaitre ou disparaitre dynamiquement une ligne dans un tableau en fonction de la réponse donné dans un élément du formulaire.
 

Code :
  1. Voici le code javascript
  2. function appelqdpourqh()
  3. {
  4. if(document.forms["form1"].elements["qd"].value=="Oui" )
  5. {
  6.  document.getElementById["ligne_qh"].className="visible";
  7. }
  8. if(document.forms["form1"].elements["qd"].value=="Non" || document.forms["form1"].elements["qd"].value=="0" )
  9. {
  10.  document.getElementById["ligne_qh"].className="hidden";
  11. }
  12. }
  13. L'appel à la fonction:
  14.           <select name="qd" id="qd" onChange="appelqdpourqh()">
  15.             <option value="0" selected></option>
  16.             <option value="Oui">Oui</option>
  17.             <option value="Non">Non</option>
  18.           </select>
  19. La ligne que je veux supprimer dans un tableau:
  20.       <tr class="hidden" id="ligne_qh">
  21.         <td height="54"><p>QH. </p></td>
  22.         <td><table width="100%" border="0" align="center" class="undertab">
  23.             <tr>
  24.               <td width="14%"><p>&nbsp;</p></td>
  25.               <td width="10%" align="center"><p><strong>Tous les jours</strong></p></td>
  26.               <td width="12%" align="center"><p><strong>Plusieurs fois par semaine</strong></p></td>
  27.               <td width="13%" align="center"><p><strong>Une ou deux fois par semaine</strong></p></td>
  28.               <td width="13%" align="center"><p><strong>Plusieurs fois par mois</strong></p></td>
  29.               <td width="10%" align="center"><p><strong>Moins d&rsquo;une fois par mois</strong></p></td>
  30.               <td width="15%" align="center"><p><strong>Jamais/ne regarde pas ces cha&icirc;nes</strong></p></td>
  31.               <td width="13%" align="center"><p><strong>Nous n&rsquo;avons pas ces cha&icirc;nes</strong></p></td>
  32.             </tr>


 
Cela ne semble pas fonctionner.
Avez-vous une solution à me proposer ?
 
Merci d'avance.

Reply

Marsh Posté le 06-11-2009 à 17:32:57   

Reply

Marsh Posté le 06-11-2009 à 18:09:43    

[:dawa] Je parie que dans la console d'erreur de Firefox tu as "document.getElementById.ligne_qh is undefined".
 
Et on revoit la définition de document.getElementById pour comprendre pourquoi.

Reply

Marsh Posté le 06-11-2009 à 18:11:27    

moi je passerais la valeur ... dans ton select, au lieu de :
 
appelqdpourqh()
 
essaie :
appelqdpourqh(this.value);
 
 
et dans ta fct JS :

Code :
  1. function appelqdpourqh(valeur)
  2. {
  3. alert ('Je recois : ' + valeur);
  4. if (valeur == 'Oui')
  5.     document.getElementById["ligne_qh"].className="visible";
  6. else
  7.     document.getElementById["ligne_qh"].className="hidden";
  8. }


 
A chaque changement du Select, l'ALERT va te dire ce qu'il reçoit, tu pourras déjà savoir si tu reçois la bonne valeur ou pas ...


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Sujets relatifs:

Leave a Replay

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