Bonjour,
Etant novice (et mauvais) en javascript, j'ai écrit une fonction censée changer la couleur de fond d'une table lors d'un événement onclick sur un checkbox.
Jusque là, ça fonctionnait. Ca s'est gâté lorsque j'ai généré chaque tableau et chaque checkbox dynamiquement et que j'ai voulu faire un getElementById et récupérer le contenu dynamique.
Le code pour que ce soit plus clair : la partie html/php
et la fonction javascript :
Code : 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 $i=0; $a=0; while(list($id,$exp,$dest,$log1,$clef1,$date,$heure,$login,$cle,$sujet,$content,$statut,$statut1,$archive,$archive1)=mysql_fetch_array($demandmess)) { if($statut1=='l' OR $statut1=='r') { ?> <table class="messageriel" id="<?php echo $i;?>"> <?php } else { ?> <table class="messagerie" id="<?php echo $i;?>" > <?php } ?> <tr> <td width="20"> <input type="hidden" name="var" value="r"> <input type="hidden" name="idd" value="<?php echo $id;?>"> <input type="checkbox" id="<?php echo $a;?>" onClick="changeColor();" > </td> <td width="75"> <?php echo $date;?> </td> <td width="75"> <?php echo $heure;?> </td> <td width="160"> de <?php echo $log1;?> </td> <td width="310"> <a href="message_messagerie_gueule_de_chien.php?idd=<?php echo $id;?>"><b><?php echo $sujet;?></b></a> </td> </tr> </table> <?php $i=$i++; $a=$a++; }
Si quelqu'un peut m'expliquer pourquoi ça ne marche pas, ce serait vraiment l'idéal et me permettrait peut-être de comprendre davantage comment fonctionne javascript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <script type"text/javascript"> function changeColor() { if(document.getElementById('<?php echo $a;?>').checked == true) { document.getElementById('<?php echo $i;?>').style.backgroundColor = '#ffff99'; } else { document.getElementById('<?php echo $i;?>').style.backgroundColor = '#cccccc'; } } </script>
Merci d'avance pour vos réponses.
Partager