Bonjour a tous.
Bien que le code soit en PHP et javascript je publie la question ici car je pense que le problème se situe dans la partie javascript.
Voila je construis dans un foreatch plusieurs span cachés et je veux pouvoir les faire apparaître a volonté en cliquant sur un "pseudo lien".
La boucle concatène une string avec un compteur numérique pour former une id unique qui servira a dire a la fonction en JS quel span rendre visible.
Le problème est que quand j'essaie de l’exécuter, sa donne rien. les span restent caché.
J'ai essaye de faire un alert dans la fonction pour voir ce que contien la variable passé en parametre a la fonction et c'est la que je comprends pas.
Sa m'affiche [object]
Si quelqun a une idée
voici le bout de code qui correspond:
creation des span et des pseudo liens:
Et la fonction en JS:
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
44
45
46
47 //compteur pour le numero du span pour afficher les posts par 5 et cacher les suivants allant de 0 a N. $compt=0; //compteur pour afficher 5 posts dans le meme span allant de 1 a 5 $index=1; foreach ($commentaire as $commentaires) { if($compt==0 AND $index<=4)//premiere div a ne pas cacher { echo ('<p><label id="fixed">Auteur commentaire: '.$commentaires[2].' '.$commentaires[3].' le '.$commentaires[5].'</label></p>'); echo('<div id="border"><p style="text-align: center;">'.$commentaires[1].'</p></div>'); $index++; } elseif($compt==0 AND $index==5)//premiere div a ne pas cacher avec fermeture du span { echo ('<p><label id="fixed">Auteur commentaire: '.$commentaires[2].' '.$commentaires[3].' le '.$commentaires[5].'</label></p>'); echo('<div id="border"><p style="text-align: center;">'.$commentaires[1].'</p></div>'); $index=1; $compt++; $identifiant="hide".$compt; //span clicable pour afficher lesz posts suivants echo("<span onclick= 'cachercommentaires(".$identifiant.")'><p style= 'color:blue; text-decoration:underline; '>AFFICHER LES COMMENTAIRES SUIVANTS</p></span>"); echo ("hide".$compt); echo('<div id="hide'.$compt.'" style="display: none;">'); } elseif($compt!=0 AND $index<=4)//dives suivants { echo ('<p><label id="fixed">Auteur commentaire: '.$commentaires[2].' '.$commentaires[3].' le '.$commentaires[5].'</label></p>'); echo('<div id="border"><p style="text-align: center;">'.$commentaires[1].'</p></div>'); $index++; } elseif($compt!=0 AND $index==5)//dives suivants avec fermeture du span { echo("</div>"); $index=1; $compt++; echo("<span onclick= 'cachercommentaires(hide".$compt.")'><p style= 'color:blue; text-decoration:underline; '>AFFICHER LES COMMENTAIRES SUIVANTS</p></span>"); echo('<div id=hide'.$compt.' style="display: none;">'); echo ('<p><label id="fixed">Auteur commentaire: '.$commentaires[2].' '.$commentaires[3].' le '.$commentaires[5].'</label></p>'); echo('<div id="border"><p style="text-align: center;">'.$commentaires[1].'</p></div>'); $index++; } } echo("</div>"); echo("</div>");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function cachercommentaires(position)//Pour afficher les 5 prochains commentaires { alert (position); document.getElementById(position).style.display = "block"; }
Partager