Afficher/cacher un élement [PHP/JS]

Fermé
jojo - 26 avril 2012 à 12:03
 jojo - 26 avril 2012 à 14:05
Bonjour,
Je suis en train de créer une appli de gestion de calendrier.
En fait, mon calendrier et deja en place. Sauf que nouvelle fonctionnalité je souhaiterai que quand on clique sur une des cases de mon calendrier, ca affiche un texte associé en bas de la page, et que si on re-clique ça le cache. (en finalité ca servira a afficher les rdv associés à un jour dans un calendrier en dessous de celui-ci)
Mais il se trouve que j'ai un petit soucis, au niveau des liens sur les jours de mon calendrier mois.
J'ai une petite fonction javascript qui affiche/cache un des éléments dans la page.
Et en gros je l'applique sur le lien que j'ai fait sur les jours du calendrier.
Concrètement : quand on clique sur le jour du calendrier ça appelle la fonction js "visibilité" en début de fichier, et ca affiche le texte dans la div concernée en bas de la page (sous le calendrier)
Problème : mon calendrier disparait totalement quand je clique sur le lien de mon jour au lieu de m'afficher:
"RDV à afficher en dessous du calendrier quand on clique sur le jour."
J'arrive pas a comprendre pourquoi, est-ce que cela serait ma fonction js qui s'appliquerait mal ? :/
Merci d'avance
PS: Ma page est appelée dans une autre page php qui affiche tout les calendriers...etc. Et toutes mes fonctions utiles sont codées dans le fichier outils.php que j'inclue au début.
Voici mon code :

<?php include('../helpers/outils.php');

if(!isset($_SESSION['date'])) $_SESSION['date']=date('Y-m-d');
$date=$_SESSION['date'];
$tmp_date=explode('-',$_SESSION['date']);
?>

<head>
<script>
function visibilite(thingId)
{
var targetElement;
targetElement = document.getElementById(thingId) ;
if (targetElement.style.display == "none")
{
targetElement.style.display = "" ;
} else {
targetElement.style.display = "none" ;
}
}
</script>
</head>
<body>

<?php /* echo 'Mois: '.$num_sem=date("m M", mktime(0, 0, 0, $tmp_date[1], 1, $tmp_date[0])); */ ?>
<!-- On affiche en entête les jours de la semaine -->
<table id="tableau_mois" align="center" border="0">
<tr id="titre_calendrier_mois">
<td>
<<<
</td>
<td colspan="5">
<?php echo $nom_mois=intituleMois($date); ?>
</td>
<td>
>>>
</td>
</tr>
<tr id="titre_calendrier_mois">
<?php foreach(donneSemaine($date) as $date_jour => $jour){
echo '<td id="titre_calendrier_semaine">'.donneJour($date_jour).'</td>';
} ?>
</tr>
<tr>
<!-- on remplit le début de calendrier avec les jours du mois précédent -->
<?php foreach(completeMois($date) as $jour => $date_jour){
$tmp_date=explode('-',$jour);
$d = date('Ymd', mktime(0, 0, 0, $tmp_date[1], $tmp_date[2], $tmp_date[0]));
$d2 = date('d', mktime(0, 0, 0, $tmp_date[1], $tmp_date[2], $tmp_date[0]));
echo '<td id="complete_mois"><div id="div'.$d.'">'.$d2.'</div></td>' ;
}
/* Et on affiche les jours du mois en cours */
foreach(donneMois($date) as $jour => $date_jour){
$tmp_date=explode('-',$jour);
$d = date('Ymd', mktime(0, 0, 0, $tmp_date[1], $tmp_date[2], $tmp_date[0]));
$d2 = date('d', mktime(0, 0, 0, $tmp_date[1], $tmp_date[2], $tmp_date[0]));
echo '<td id="mois"><div id="div'.$d.'"><a href=""onclick="javascript:visibilite("id_div_1"); return false;" >'.$d2.'</a></div></td>';
if($date_jour=='Di'){
echo '</tr><tr>';
}
}
?>
</tr>
</table>
<div id="id_div_1" style="display:none;">
RDV à afficher en dessous du calendrier quand on clique sur le jour.
</div>
</body>



A voir également:

1 réponse

Problème résolu, sujet à fermer*
0