[JAVASCRIPT] Calendrier => cliquable HELP !!

Fermé
elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008 - 26 sept. 2006 à 09:55
elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008 - 26 sept. 2006 à 10:33
Bonjour,

J'ai trouvé un calendrier sur un forum et je voudrais le rendre cliquable ...

Sur CCM j'ai trouvé une conversation d'il y a 4 ans à ce sujet donc je ne pense pas qu'on me réponde, mais les conseils que j'y ai trouvé sont bons ... Je ne sais juste pas les appliquer !!

Voici le code de mon calendrier :

<html>
<head>
<title>Calendrier</title>

<script langage="javascript">

<!-- //

var today = new Date();
var current_month = today.getMonth();
var current_year = today.getYear();

var month_name = new Array('Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Jui', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec');

var day_number = new Array(12);
day_number[0]=31;
day_number[1]=(current_year % 4) == 0 ? 29 : 28;
day_number[2]=31;
day_number[3]=30;
day_number[4]=31;
day_number[5]=30;
day_number[6]=31;
day_number[7]=31;
day_number[8]=30;
day_number[9]=31;
day_number[10]=30;
day_number[11]=31;



function bot(current_month,current_year) {


parent.bot.document.write('<html>');
parent.bot.document.write('<body bgcolor="white">');
parent.bot.document.write('<center>');
parent.bot.document.write(month_name[current_month]+" - "+(current_year));
parent.bot.document.write('<table width="200" border="1">');
parent.bot.document.write('<tr>');
parent.bot.document.write(' <th>lun</th><th>mar</th><th>mer</th><th>jeu</th><th>ven</th><th>sam</th><th>dim</th>');
parent.bot.document.write('</tr>');
mday=1;
wday=1;
do {
 var date = new Date (current_year, current_month, mday);
 var day = date.getDay();
 if (wday == 1 ) {
  parent.bot.document.write("<tr>")
 }
 

  
 if (day == wday) {
  parent.bot.document.write("<td>");
  parent.bot.document.write(mday);
  parent.bot.document.write("</td>");
  mday ++;
 } else {
  parent.bot.document.write("<td></td>");
 }
 
 if (wday == 0 ) {
  parent.bot.document.write("</tr>")
 } 
 wday ++; wday %= 7;
 
} while (mday <= day_number[current_month]);
parent.bot.document.write('</table>');
parent.bot.document.write('<center>');
parent.bot.document.write('</body>');
parent.bot.document.write('</html>');

}


function next_month() {
 current_month++;
 current_month %= 12;
 if (current_month == 0 ) { current_year ++; }
 parent.bot.document.open();
 bot(current_month,current_year);
}


function prev_month() {
 current_month--;
 if (current_month < 0 ) { current_month = 11; current_year --; }
 parent.bot.document.open();
 bot(current_month,current_year);
}

function MAJDate(date_selected){ 
opener.document.form.date_selected.value=date_selected; 
window.close(); 
} 




 // --> 


</script>

</head>
<body bgcolor="white">
<center>

<a href="javascript:prev_month();"><img src="left.jpg" alt=">" border="0"></a>
&nbsp;&nbsp;&nbsp;&nbsp;
<a href="javascript:next_month();"><img src="right.jpg" alt=">" border="0"></a>

<script>
bot(current_month,current_year);
</script>

</center>
</body>
</html>

J'ai rajouté comme conseillé ici : www.commentcamarche.net/forum/affich-146648-le-calendrier-cliquable la fonction "MAJDate(date_selected)" et je voudrais rajouter les liens sur les dates qui sont de la forme :
<a href="javascript:MAJDate('10/09/2002')">10</a>
mais je ne sais pas comment faire !!

Si quelqu'un peut m'aider ce serait vraiment très cool !

Merci d'avance à toutes et tous ceux qui se pencheront sur mon problème ...


A voir également:

2 réponses

elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008 14
26 sept. 2006 à 10:14
Début de réponse :

function bot(current_month,current_year) {


parent.bot.document.write('<html>');
parent.bot.document.write('<body bgcolor="white">');
parent.bot.document.write('<center>');
parent.bot.document.write(month_name[current_month]+" - "+(current_year));
parent.bot.document.write('<table width="200" border="1">');
parent.bot.document.write('<tr>');
parent.bot.document.write(' <th>lun</th><th>mar</th><th>mer</th><th>jeu</th><th>ven</th><th>sam</th><th>dim</th>');
parent.bot.document.write('</tr>');
mday=1;
wday=1;
do {
 var date = new Date (current_year, current_month, mday);
 var day = date.getDay();
 if (wday == 1 ) {
  parent.bot.document.write("<tr>")
 }
 

  
 if (day == wday) {
  parent.bot.document.write("<td>");
  parent.bot.document.write("<a href=");
  parent.bot.document.write("'MAJDate(");
  parent.bot.document.write(mday+"/"+current_month+"/"+current_month+"')>"+mday+"</a>");
//  parent.bot.document.write(mday);
  parent.bot.document.write("</td>");
  mday ++;
 } else {
  parent.bot.document.write("<td></td>");
 }
 
 if (wday == 0 ) {
  parent.bot.document.write("</tr>")
 } 
 wday ++; wday %= 7;
 
} while (mday <= day_number[current_month]);
parent.bot.document.write('</table>');
parent.bot.document.write('<center>');
parent.bot.document.write('</body>');
parent.bot.document.write('</html>');

}


Voilà ce que j'ai réussi à faire dans un élan d'inspiration !!
1
elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008 14
26 sept. 2006 à 10:33
Mes liens marchent maintenant mais j'aimerais faire marcher le retour de ce popup pour récupérer la date cliquée :
function MAJDate(date_selected){ 
opener.document.form.date_selected.value=date_selected; 
window.close(); 
} 


Comme aide avec ce code, y avait le petit commentaire suivant :
form : c'est le nom du formulaire qui est dans main.php
date_selected : c'est le champ texte où tu veux affiché la date sélectionné


Ce que je ne comprends pas c'est comment ça marche. Moi mon formulaire se trouvant sur la page "accueil.php" s'appelle "date" et le champ texte est aussi "date_selected" chez moi ...

J'ai donc :
function MAJDate(date_selected){ 
opener.document.date.date_selected.value=date_selected; 
window.close(); 
} 


Mais ça ne marche pas : quand je clique sur une date, toujours sous l'url localhost/cal/calendar.html s'affiche Impossible de trouver la page.

Mais il ne se trouvent pas dans le même dossier, c'est peut-être ça ... auquel cas, comment indiquer un chemin ? avec opener.document ??

Bref, une fois de plus, j'ai besoin de vous !!

0