|
|
|
|
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>
<a href="javascript:next_month();"><img src="right.jpg" alt=">" border="0"></a>
<script>
bot(current_month,current_year);
</script>
</center>
</body>
</html>
<a href="javascript:MAJDate('10/09/2002')">10</a> mais je ne sais pas comment faire !!
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 !! ellessa mange des cerises |
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 !! ellessa mange des cerises |