POUPINELA
Messages postés1Date d'inscriptionsamedi 17 mars 2007StatutMembreDernière intervention 3 novembre 2009 3 nov. 2009 à 22:50
hello !
J'ai 2 questions:
- il me semble que quand on fixe les bornes, ce serait pas mal si le calendrier affiche d'emblée le début des bornes.
Par exemple, j'appelle le calendrier avec les bornes entre le 1e janvier 2010 et le 15 février 2010. Alors, le calendrier affiche d'emblée le mois de janvier 2010 et non pas le mois courant. J'ai regardé le fichier calendar.js, mais un peu perdu dans les centaines de lignes de codes. Pouvez-vous me suggérer où je peux fixer ça ?
- j'aimerais intégrer une fonction qui calcul une date en fonction de la date choisie dans le calendrier. Donc ça doit intervenir au moment où l'utilisateur a fait le choix de la date et que le calendrier se ferme. J'ai supposé que c'était dans la fonction TMPopUpCalendar qu'il fallait placer l'appel à cette fonction (qui calcule j+nb de jour) et j'ai fait plusieurs essais, mais ça ne marche pas.
Pourriez-vous m'aider ???
Merci d'avance !
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 4 août 2008 à 10:07
Bonjour,
Je reviens de vacances, donc pas tres frais, alors pour ma part je ne vois aucun inconveniant a ce que tu corrige, je ne pourrais pas le faire car trop de boulot par contrte n'hesite pas pour les questions, j'y repondrais par contre cela commence a faire un bon bout de temps que je n'ai pas relu le code donc je risque de pas etre trop reactif
Bon courage
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 16 juil. 2008 à 10:14
J'attendais de savoir si tguerlus voulait ou non modifier son code pour le rendre 'compatible'.
S'il ne veut pas, je veux bien essayer, avec son accord.
Pour l'instant, j'attends le retour de tguerlus à ce sujet. Je ne veux pas me lancer là dedans pour rien. Car y'a quand même pas mal de code à relire/comprendre/modifier.
glachant
Messages postés39Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention24 novembre 2010 16 juil. 2008 à 10:07
Hello,
me voilà de retour sur mon sujet de compatbilité xhtml...je ne trouve toujours pas d'où vient le problème.
ça marche bien sous FF mais pas sous IE6 ni IE7.
TGUERLUS as-tu une idée de là où ça peur venir ?
je sais qu'ENGUERRANGILLET a planché sur le sujet car on a échangé en privé mais vu que je n'ai pas de retour j'imagine qu'il sèche aussi !
merci de ton aide
@+
HB
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 17 juin 2008 à 22:14
@glachant : je t'ai contacté par MP, par simplicité (ou faignantise...)
glachant
Messages postés39Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention24 novembre 2010 17 juin 2008 à 17:17
Hello, alors vous arrivez à voir d'où vient le problème ?....moi j'ai beau décortiquer
je ne vois vraiment pas...
glachant
Messages postés39Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention24 novembre 2010 12 juin 2008 à 10:42
this.AScrollLeftMessage = "Cliquer pour passer au mois précédent. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.AScrollRightMessage = "Cliquer pour passer au mois suivant. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.AScrollLeftMessageYear = "Cliquer pour passer à l année précédente. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.AScrollRightMessageYear = "Cliquer pour passer à l année suivante. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.ASelectMonthMessage = "Cliquer pour sélectionner un mois.";
this.ASelectYearMessage = "Cliquer pour sélectionner année.";
this.ASelectDateMessage = "Choisir la date [date]."; // do not replace [date], it will be replaced by date.
function TMShowLegend () {
if (getElem("id",this.AId+"_legend").style.display == "none")
getElem("id",this.AId+"_legend").style.display = "block";
else
getElem("id",this.AId+"_legend").style.display = "none";
}
function TMConstructCalendar () {
var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31);
var dateMessage;
var startDate = new Date (this.AYearSelected,this.AMonthSelected,1);
var endDate;
var numDaysInMonth;
var datePointer = 0;
var sHTML = "";
var sHint = "";
var sStyle = "";
var attStyle = "style";
var datetype = null;
var jourferier = "";
if (this.AMonthSelected==1) {
endDate = new Date (this.AYearSelected,this.AMonthSelected+1,1);
endDate = new Date (endDate - (24*60*60*1000));
numDaysInMonth = endDate.getDate();
}
else numDaysInMonth = aNumDays[this.AMonthSelected];
dayPointer = startDate.getDay() - this.AStartAt;
if (dayPointer= borneinf && nbr = 0 && anneenum
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 11 juin 2008 à 11:34
j'allais demander la meme chose
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 11 juin 2008 à 11:09
Bonjour,
peux-tu poster ton fichier js et ton html, ou tout ce qui est nécessaire pour faire tourner ta page ?
Je ferai des tests dès que possible avec pour voir ce qui cloche.
Bonne journée.
Enguerran
glachant
Messages postés39Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention24 novembre 2010 10 juin 2008 à 15:38
Bonjour,
compte tenu du fait que ce source n'a pas été commenté depuis un an j'espere qu'il y aura quand même une bonne âme pour m'aider...
En réalité j'ai le même problème que pwet8484 : les listes des mois et des années n'apparaissent pas quand je clique sur les fleches du bas.
Pourtan, j'ai reformaté tout le code pour qu'il soit accepté en XHTML 1.0. (enfin je crois !..j'ai mis les balises en minuscules, fermé les , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
if (this.AShowLegend == 1) {
htmlText += \" , \";
htmlText += \" ? , \";
}
htmlText += "
";
htmlText += "
";
htmlText += " </td><td valign='middle' style='cursor:pointer'>";
htmlText += " ";
htmlText += " </td></tr>";
htmlText += " </table>";
htmlText += "</td></tr>";
htmlText += "<tr><td align='center'>";
htmlText += "
function TMShowLegend () {
if (getElem("id",this.AId+"_legend").style.display == "none")
getElem("id",this.AId+"_legend").style.display = "block";
else
getElem("id",this.AId+"_legend").style.display = "none";
}
function TMConstructCalendar () {
var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31);
var dateMessage;
var startDate = new Date (this.AYearSelected,this.AMonthSelected,1);
var endDate;
var numDaysInMonth;
var datePointer = 0;
var sHTML = "";
var sHint = "";
var sStyle = "";
var attStyle = "style";
var datetype = null;
var jourferier = "";
if (this.AMonthSelected==1) {
endDate = new Date (this.AYearSelected,this.AMonthSelected+1,1);
endDate = new Date (endDate - (24*60*60*1000));
numDaysInMonth = endDate.getDate();
}
else numDaysInMonth = aNumDays[this.AMonthSelected];
if ((datePointer==this.ADateNow)&&(this.AMonthSelected==this.AMonthNow)&&(this.AYearSelected==this.AYearNow))
sStyle = this.AStyleButtonDaySelected;
if ((datePointer==this.AOdateSelected) && (this.AMonthSelected==this.AOmonthSelected) && (this.AYearSelected==this.AOyearSelected))
sStyle=this.AStyleButtonDayOld;
if (jourferier != \"\") {
sStyle=this.AStyleButtonDayHoliday;
sHint+=sHint==\"\"?jourferier:\"\n\"+jourferier;
}
if (this.ADayCloses.is_in(dayPointer%7))
sStyle = this.AStyleButtonDayWeek;
if (this.ABorne) {
datetype = String(this.AYearSelected)+String(this.AMonthSelected+1).fillPrevChar(\"0\",2)+String(datePointer).fillPrevChar(\"0\",2);
if (!this.ABorne.in_born(datetype))
sStyle=this.AStyleButtonDayUnselected;
}
var regexp= /\\"/g;
sHint=sHint.replace(regexp,\""\");
switch(this.ATypeAnim) {
case 0: this.MShowDefault();break;
case 1 : this.MShowScroll(\"right\");break;
case 2: this.MShowScroll(\"left\");break;
case 3: this.MShowScroll(\"top\");break;
case 4: this.MShowScroll(\"bottom\");break;
case 5: this.MShowOpacity();break;
default: this.MShowDefault();break;
}
}
else {
if (this.ACtlNow != ctl) {
hide_div(\"id\",this.AId);
this.MPopUpCalendar(ctl,ctl2,format,borne,jourfermer,jourferier);
}
else this.MHideCalendar();
}
this.ACtlNow = ctl;
}
}
function TMSetXY() {
var x = get_x_obj(this.ACtlToPlaceValue);
var y = get_y_obj(this.ACtlToPlaceValue)+this.ACtlToPlaceValue.offsetHeight+2;
var l = get_l_div(\"id\",this.AId);
var h = get_h_div(\"id\",this.AId);
if ((x+l) >= (left_fenetre()+largeur_fenetre()))
x = left_fenetre()+largeur_fenetre()-l-(MS?33:0);
if ((y+h) >= (top_fenetre()+hauteur_fenetre()))
y = top_fenetre()+hauteur_fenetre()-h;
set_x_div(\"id\",this.AId,null,(this.AFixedX==-1)?x:this.AFixedX);
set_y_div(\"id\",this.AId,null,(this.AFixedY==-1)?y:this.AFixedY);
}
function TMShowDefault() {
show_div(\"id\",this.AId);
}
function TMShowScroll(direction) {
move_clip_open(\"id\",this.AId,null,direction,this.AVitesseAnim,3,0,\"\");
}
function TMShowOpacity() {
show_div(\"id\",this.AId);
if (!OP) opacity_open_div(\"id\",this.AId,null,0.15,this.AVitesseAnim,\"\");
}
function TMHideCalendar() {
if (getElem(\"id\",this.AId+\"_selectMonth\")) hide_div(\"id\",this.AId+\"_selectMonth\");
if (getElem(\"id\",this.AId+\"_selectYear\")) hide_div(\"id\",this.AId+\"_selectYear\");
switch(this.ATypeAnim) {
case 0: hide_div(\"id\",this.AId);break;
case 1: move_clip_close(\"id\",this.AId,null,\"left\",this.AVitesseAnim,3,0,\"\");break;
case 2: move_clip_close(\"id\",this.AId,null,\"right\",this.AVitesseAnim,3,0,\"\");break;
case 3: move_clip_close(\"id\",this.AId,null,\"bottom\",this.AVitesseAnim,3,0,\"\");break;
case 4: move_clip_close(\"id\",this.AId,null,\"top\",this.AVitesseAnim,3,0,\"\");break;
case 5: if (!OP) opacity_close_div(\"id\",this.AId,null,0.15,this.AVitesseAnim,\"hide_div(\\"id\\",\\"\"+this.AId+\"\\");\");break;
}
}
function padZero(num) {
return (num < 10)? '0' + num : num ;
}
function TMPopDownYear() {
clearInterval(this.AIntervalID1);
clearTimeout(this.ATimeoutID1);
clearInterval(this.AIntervalID2);
clearTimeout(this.ATimeoutID2);
hide_div("id",this.AId+"_selectYear");
}
function TMPopUpYear() {
this.MConstructYear();
set_x_div("id",this.AId+"_selectYear",null,get_x_div("id",this.AId+"_spanYear"));
set_y_div("id",this.AId+"_selectYear",null,get_y_div("id",this.AId+"_spanYear")+get_h_div("id",this.AId+"_spanYear"));
show_div("id",this.AId+"_selectYear");
}
/*** calendar ***/
function TMWeekNbr(n) {
var year = n.getFullYear();
var month = n.getMonth() + 1;
var day (this.AStartAt 0)?n.getDate() + 1:n.getDate();
var a = Math.floor((14-month) / 12);
var y = year + 4800 - a;
var m = month + 12 * a - 3;
var b = Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400);
var J = day + Math.floor((153 * m + 2) / 5) + 365 * y + b - 32045;
var d4 = (((J + 31741 - (J % 7)) % 146097) % 36524) % 1461;
var L = Math.floor(d4 / 1460);
var d1 = ((d4 - L) % 365) + L;
var week = Math.floor(d1/7) + 1;
return week;
}
/*----------------------------------------------------------------------------*/
// Teste si une date est un jour férié
/*----------------------------------------------------------------------------*/
function TMJourFerie(DtDate) {
var Y = DtDate.substr(6);
var desc = "";
var dtpaques = this.MGetPaques(parseInt(Y));
// Fêtes mobiles
var DtPaques = dtpaques.JJMMAAAA("/");
var DtLundiPaques = dtpaques.addDay(1).JJMMAAAA("/");
var DtAscension = dtpaques.addDay(39).JJMMAAAA("/");
var DtPentecote = dtpaques.addDay(49).JJMMAAAA("/");
var DtLundiPentecote = dtpaques.addDay(50).JJMMAAAA("/");
// Fêtes fixes
var DtNoel = "25/12/" + Y;
var DtAn = "01/01/" + Y;
var DtTravail = "01/05/" + Y;
var DtArm2g = "08/05/" + Y;
var DtFNat = "14/07/" + Y;
var DtAssomption = "15/08/" + Y;
var DtToussaint = "01/11/" + Y;
var DtArm1G = "11/11/" + Y;
// Informe l'utilisateur d'un éventuel jour férié
if (DtDate DtPaques) desc "Pâcques";
if (DtDate DtLundiPaques) desc "Lundi de Pâcques";
else if (DtDate DtAscension) desc "Ascencion";
else if (DtDate DtPentecote) desc "Pentecôte";
else if (DtDate DtLundiPentecote) desc "Lundi de Pentecôte";
else if (DtDate DtNoel) desc "Noël";
else if (DtDate DtAn) desc "Jour de l'An";
else if (DtDate DtTravail) desc "Fête du travail";
else if (DtDate DtArm2g) desc "Armistice 1945";
else if (DtDate DtFNat) desc "Fête Nationale";
else if (DtDate DtAssomption) desc "Assomption";
else if (DtDate DtToussaint) desc "Toussaint";
else if (DtDate DtArm1G) desc "Armistice 1918";
return desc;
} //fin JourFerie
function TMGetPaques(year) {
var A = year%19;
var B = Math.floor(year/100);
var C = year%100;
var D = Math.floor(B/4);
var E = B%4;
var F = Math.floor((B+8)/25);
var G = Math.floor((B-F+1)/3);
var H = (19*A+B-D-G+15)%30;
var I = Math.floor(C/4);
var K = C%4;
var L = (32+2*E+2*I-H-K)%7;
var M = Math.floor((A+11*H+22*L)/451);
var month = Math.floor((H+L-7*M+114)/31);
var day = (H+L-7*M+114)%31;
var dt = new Date(year,month-1,day+1);
return dt;
}
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 3 mai 2007 à 09:18
Merci pwet8484
Je viens de faire un test sur IE 6 et tous marche très bien. J'arrive a afficher les listes des mois et des années.
pwet8484
Messages postés2Date d'inscriptionmercredi 1 novembre 2006StatutMembreDernière intervention 4 décembre 2008 2 mai 2007 à 16:50
Très bon code, encore bravo !
J'ai tout de même rencontré un petit soucis sous IE 6 :
Lorsque l'on clique sur le bouton "flèche du bas" pour faire apparaitre la liste des mois, celle ci n'apparait pas sous IE6. (C'est le même problème quand on veut faire afficher la liste des années).
Ce n'est pas un bug paralysant (puisqu'on peut toujours faire défiler les mois/années avec les flèches droites/gauches) mais c'est juste génant...
Est ce que quelqu'un aurait une solution?
mouness
Messages postés97Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention30 octobre 2007 31 août 2006 à 15:11
Super Baleze tguerlus tres jolie travail mais j'aimerais te demander un truc SVP (je debute et par consequent je ne suis pas aussi douée que toi) mais je voudrait savoir quelle modif je doit apporter pour ne pas avoir a renseigner l'argument "ct1" dans la fonction
"TMPopUpCalendar(ctl,ctl2,format,borne,jourfermer,jourferier)" autrement dit un truc genre "TMPopUpCalendar(ctl2,format,borne,jourfermer,jourferier)" et que je puisse declancher ton calendrier sur un autre evenement que onclick ,par exemple onLoad ou autre. Je t'en serait tres reconnaissant merci beaucoup et encore une fois super ton calendrier.
* Si date du jour < date de debut de congé -> date du jour à date de debut de congé + date de fin de congé à l'infini
* Si date du jour <= date de fin de congé -> date de fin de congé à l'infini
* Si date du jour > date de fin de congé -> date du jour à l'infini
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 5 juil. 2006 à 09:27
Ton "je ne peux pas selectionner du 01/07/2006 au 14/07/2006" est équivalent à "je peux selectionner de - l'infini à 01/07/2006 et de 14/07/2006 à + l'infini".
Pour faire l'union des deux intervalles, utilise le caractère "^".
Avec ton exemple ça donne :
-inf&20060701^20060714&+inf
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 5 juil. 2006 à 09:16
cela permet de sélectionner une date depuis aujourd'hui jusqu'à l'infini.
Mais je voudrais que par exemple du 01/07/2006 au 14/07/2006, les dates ne puissent pas être sélectionné (pour les congés par exemple)
Merci d'avance.
spacezed
Messages postés1Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention24 mars 2006 24 mars 2006 à 11:59
Bonjour, ton script est super!
Il serait encore plus genial s'il pouvait repondre à mon deuxieme besoin.
CAD: pouvoir selectionner/déselectionner des jours fériés (ou fermés).
faisant reference toujours à un input de type hidden, qui contiendrait tous les jours considérés comme fériès (avec option "considerer les we comme jours feries ou non").
sous une syntaxe par exemple: JJMMAAAA,JJMMAAAA,...
s'il est vide on considère que les jours fériés par défaut sont activés.
L'interface elle affichera le calendrier existant mais, avec deux couleurs differente, jour normal et jour férié (ou fermé). Et lorsque l'on clique sur un jour la couleur switche mais le calendreir ne se ferme pas (il faut cliquer sur la croix). L'input hidden est mis à jour en live.
voili, est-ce que cela t'inspire?
ps: j'aurai aussi besoin d'un selectionneur horaires d'ouvertures, pour pouvoir que par exemple une boutique est ouverte de 8h30 à 12h00 le lundi, de 8h à 9h puis de 10h à 10h15, etc le mercredi...
si connait un script qqle part qui fait cela je suis preneur!
merciiiiiiiii!
dada
cs_zortec
Messages postés1Date d'inscriptiondimanche 29 mai 2005StatutMembreDernière intervention25 février 2006 25 févr. 2006 à 09:31
Message de niggaz972
"Sniff sniff, ce script est parfait , sauf, sauf, kil ne fonctionne pas en xhtml, en effet je suis en html et utilise du css, kan j'utilise la soluce de alpharios sa pase plus du tt l'apparnce de mon site ne prend plus en compte mon fichier css!"
J'ai rencontré le même problème avec le contour des tableaux. La bordure s'affiche systématiquement en blanc quelquesoit la couleur choisie. J'ai néanmoins réussi à contourner le problème en intégrant la couleur de la bordure dans la balise de la manière suivante :
<table bordercolor="#0000FF" class="table">
Picoteur
Messages postés2Date d'inscriptionmardi 14 septembre 2004StatutMembreDernière intervention22 février 2006 22 févr. 2006 à 09:40
Bon sûr mais c'est bien sang...
Quelle nouille, je n'avais même pas essayé un truc aussi basique.
Désolé pour le bruit, ça fonctionne parfaitement.
Encore merci et bravo !
Amicalement,
Pierre
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 22 févr. 2006 à 09:18
As tu essayé de préalimenter le champ qui est en relation avec le calendrier
Picoteur
Messages postés2Date d'inscriptionmardi 14 septembre 2004StatutMembreDernière intervention22 février 2006 20 févr. 2006 à 15:35
Bonjour et bravo pour ce superbe script, vraiment.
Une petite question toutefois : comment passer une date à préselectionner, à la place de la date du jour ?
J'ai essayé de jouer avec AMonthSelected et ses camarades, mais sans succcés.
Quelqu'un aurait une idée par hasard ?
Merci d'avance
Pierre
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 18 févr. 2006 à 20:40
Re,
l'attribut 'disabled' peut être appliqué à un champ texte. Par exemple tu peux faire ceci :
J'espère que cela répond (un peu tard je sais) à ta question.
Sinon donne plus de détails et je me ferai un plaisir de répondre.
Enguerran
cs_isabelle72
Messages postés3Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention16 février 2006 16 févr. 2006 à 10:46
Bonjour,
merci beaucoup ça marche très bien !!
J'ai une question subsidaire, et après c'est fini !
Le calendrier permet de renseigner un input text : DatePrevDeb.
Je POSTE cette variable sur la page suivante.
Je souhaite que l'utilisateur voit la date qu'il a sélectionné une fois le calendrier refermé, mais qu'il ne puisse pas la modifier !
J'ai essayé de mettre le champ en "disabled", mais cela n'est pas compatible avec la méthode POST.
J'ai donc envisagé de mettre le champ DatePrevDeb en type hidden, et d'afficher par un autre moyen la date sélectionnée via le calendrier mais je ne sais pas comment faire ...
Merci d'avance.
Isabelle.
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 15 févr. 2006 à 17:17
Bonjour,
Bravo Enguerrangilet, enfin un qui a compris comment ça marche et qui l'explique bien. J'aurai pas fais mieux
A+
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 15 févr. 2006 à 16:44
>>isa
pour ta borne :
$borne=date("Ymd")."&+inf";
pour le onclick:
echo " ..... onclick='Calendar.MPopUpCalendar(this, document.frm1.val, "dd-mm-yyyy", "$borne",false,false)' .... ";
si tu veux le script complet fais moi signe
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 15 févr. 2006 à 16:41
cs_isabelle72
Messages postés3Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention16 février 2006 15 févr. 2006 à 15:40
Bonjour,
Je suis toujours bloquée sur le même problème : je ne dois pas pouvoir sélectionner une date antérieur à la date du jour.
J'ai essayé de créer la variable a=year()+month()+day() à plusieurs endroits, mais rien à faire je n'y arrive pas.
Je suis débutante, pourriez vous me réexpliquer comment faire.
Merci d'avance.
Isabelle
enguerrangillet
Messages postés11Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention16 juillet 2008 14 févr. 2006 à 15:52
Bonjour,
j'ai le même problème que SREGG, et je n'y ai trouvé de solutioactuellement.
je site SREGG :
"A chaque page où je créé le Calendar avec un new Calandar, le calendrier s'affiche tt seul au début du lancement de la page et disparait. ( Sous IE et FF )
Est-ce normal ? Comment remédier à ce problème ?
Merci de ta réponse."
En tout cas ca marche nick sinon, c'est pile ce que je cherchait ^^
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 6 févr. 2006 à 09:22
Bonjour,
Je ne sais plus tres bien, ca fait longtemp, mais essaye ca:
developpementstef
Messages postés1Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention 3 février 2006 3 févr. 2006 à 19:29
Bonjour,
Trés bien pour le calendrier proposé, cependant est-il possible de parametrer ou modifier le code afin que la sortie soit du type dd/mm/yy?
Merci d'avance Stef-âne
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 31 janv. 2006 à 13:59
Bonjour la compagnie,
Je vais répondre à tous le monde:
Pour le problème du bug avec xhtml ou doctype (c'est le même problème: Le javascript généré ne fourni pas la norme xhtml est le fait d'utiliser la ligne <!DOCTYPE HTML PUBLIC "-//W3C//DTD ... fait que le controle de la norme demandé retourne une erreur.).
Une des solutions consiste à ne pas demander la validation du flux xml en enlevant la ligne, l'autre étant de revoir tout le code pour modifier les lignes de code générant le html pour le remettre aux normes xhtml.
Pour Isabelle72
Il faut que tu génére une chaine de caractère afin d'écrire la borne de limite de saisie dynamiquement. Du style :
a = year()+month()+day()+"&+inf";
Ensuite il faut inserer la balise suivante:
A+
cs_isabelle72
Messages postés3Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention16 février 2006 31 janv. 2006 à 13:15
Bonjour,
Tous mes remerciements pour cette source.
Ce calendrier est vraiment ce qu'il me fallait, mais j'ai un problème pour l'adapter à mon application.
J'ai besoin que l'utilisateur ne puisse pas sélectionner une date antérieur à la date du jour.
Comment puis je faire ?
Merci pour votre aide.
a bientot.
johnniefox
Messages postés7Date d'inscriptionmardi 8 février 2005StatutMembreDernière intervention 7 octobre 2006 11 déc. 2005 à 18:59
Bonjour, le peu que je viens d'en voir, après le téléchargement, rend difficile le jugement sur les autres : y a pas photo, dur de rivaliser !
Magnifique !
Merci !
sebastieni
Messages postés1Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 novembre 2005 29 nov. 2005 à 17:44
hello,
tous d'abort super le script un peu dur à mettre en place mes super,
enfin juste un detail j'arrive pas a débloquer toute les dates malgré le tutorial :/
esque quelqu'un peu maider
merci
cs_Linuss
Messages postés176Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 9 mai 2008 31 août 2005 à 21:09
Bonjour :)
Tout d'abord très bonne source :)
Mais néanmoins, un problème subsiste et je ne sais comment y remédier ^^
Quand avant ma balise html figure :
le script émet une erreur.
Quelqu'un aurait-il la solution svp?
Merci beaucoup
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 22 août 2005 à 10:00
Pour le problème des listes déroulantes liser ma réponse du Commentaire de : tguerlus le 11/05/2005 11:33:50 .
cs_hansap82
Messages postés4Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention16 août 2005 16 août 2005 à 10:15
tu peut en effet, mais si comme beaucoupe de monde, a l'heyre actuelle, tu utilise un moteur de template, et que ta requete est extraite telle qu'elle, ca devient ennuyeux et long de modifier ce genre de données...
c'est pour ca que j'essaie de trouver dans les sources comment faire...
mathieumg
Messages postés558Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention18 février 2006 15 août 2005 à 01:13
Tu peux faire ce traitement du côté serveur (Je sais pas si tu es en PHP ou autre)
Mathieu M-G
mathieumg@qc-net.com
cs_hansap82
Messages postés4Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention16 août 2005 9 août 2005 à 08:51
j'ai un petit problem : j'exploite ce calendrier avec des données extraites.. d'une BDD...
et certains champs date m'arrivent sous la forme : 00/00/0000
et la faut commencer de l'an 0 pour remonter jusquà notre ère...
il n'y aurait pas une ligne de code a modifier pour que je puisse initialiser le calendrier toujours a la date du jours?
merci d'avance!
(ps : j'ai cherché dans tes sources, mais n'ai rien trouvé...)
maissa_21
Messages postés4Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention22 juin 2005 3 août 2005 à 12:41
pour ce calendrier est limité entre le 01/11/2005 et le 25/11/2005 ou le 05/12/2005 et le 13/01/2006 ???
merci
maissa_21
Messages postés4Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention22 juin 2005 3 août 2005 à 12:40
pourkoi on ne peu pas l'adresse est fixée seulement entre le 01/11/2005 et le 25/11/2005 ou le 05/12/2005 et le 13/01/2006 ???
je veu utiliser ce calendrier mai j ai rencontré ce problème
merci
cs_esperluette
Messages postés1Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention 2 août 2005 2 août 2005 à 18:27
Bonjour,
Super script que j'ai pu adapter à mes couleurs, mais j'ai le même problème qu'Albans (et la suggestion de MathieurMG ne fonctionne pas) : j'ai des listes deroulantes sous le calendrier qui s'affichent en premier plan, le rendant inaccessible. Pouvez-vous m'aider ?
Merci !
cs_hansap82
Messages postés4Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention16 août 2005 2 août 2005 à 10:29
Salut, moi aussi je trouve que t'aé vvraiment fait du BON boulot (bravo) par contre j'ai une petite question : si l'on ne met pas ton rep "incclient" a la racine, les images ne s'affichent plus (bien sur, j'ai modifié l'attribut src : src="javascript/IncClient/Calendar.js">...
ca marche, mais pas pour les images...
voili voilou!
cs_hansap82
Messages postés4Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention16 août 2005 2 août 2005 à 10:29
Salut, moi aussi je trouve que t'aé vvraiment fait du BON boulot (bravo) par contre j'ai une petite question : si l'on ne met pas ton rep "incclient" a la racine, les images ne s'affichent plus (bien sur, j'ai modifié l'attribut src : src="javascript/IncClient/Calendar.js">...
ca marche, mais pas pour les images...
voili voilou!
cs_niggaz972
Messages postés8Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention28 juillet 2005 28 juil. 2005 à 04:52
Sniff sniff, ce script est parfait , sauf, sauf, kil ne fonctionne pas en xhtml, en effet je suis en html et utilise du css, kan j'utilise la soluce de alpharios sa pase plus du tt l'apparnce de mon site ne prend plus en compte mon fichier css!
alpharios
Messages postés1Date d'inscriptionjeudi 14 août 2003StatutMembreDernière intervention 1 juillet 2005 1 juil. 2005 à 13:26
Bonjour à Tous
Bravo pour ce script très facilement utilisable
Ceci dit, j'ai un bug sniff. ( ou une incompatibilité ? )
Celui ci affecte uniquement les pages en xhtml transitional.
Je le retrouve également si je transforme en XHTML transitional le fichier exemple donné dans le fichier zip.
Voici Ce qui se passe :
Si je suis sous ie, j'ai la div de Calendar_lblToday et la div Calendar_caption qui s'affiche dès le chargement de la page. Le script ne fonctionne pas.
Et si je suis sous firefox, le script ne positionne pas au bon endroit la fenêtre de sélection des dates. Mais il marche :)
Pour résoudre ce problème j'ai trouvé comme solution d'enlever l'entête <!DOCTYPE .... de mes fichiers contenant le script.
Mais je me doute qu'il doit y avoir un autre moyen plus 'propre' pour éviter ce petit bug... je l'ai pas encore trouvé
Avez vous ce problème ?
une idée ?
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009 24 juin 2005 à 18:26
bravo c'est vraiment très pro.
Juste un détail : est-ce que j'ai le droit de l'utiliser pour mon site ?
KameSennin
Messages postés1Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention 9 juin 2005 9 juin 2005 à 10:03
Et voici le chapiteau du mois ! (Wayne's world bande d'inculte :D )
Un grand bravo pour ce script de calendrier personnalisable à volonté.
Oui j'ai que ça à dire, mais la perfection ça se passe de commentaire ^_____^
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 6 juin 2005 à 11:10
Salut Chimon73,
Pour ne plus faire référence aux jours fermés, il suffit d'ecrire la ligne suivante:
Calendar.MInitWeekDays();
Cette méthode accepte entre 0 et 7 arguments qui sont les jours de la semaine en chiffre (0 = dimanche). Cette méthode initialise les jours de la semaine qui doivent être considérés comme fermés. Ainsi le style défini pour les jours fermés ne sera pas appliqué.
Ensuite, pour rendre les jours fériés et fermés sélectionnable, il suffit d'appeler l'affichage du calendrier comme suit:
Calendar.MPopUpCalendar(this, document.formulaire.champ, 'dd-mm-yyyy',null,false,false);
Cordialement
TG
Chimon73
Messages postés4Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention28 mai 2005 28 mai 2005 à 21:43
Ba si je n'ai pas était assez clair coucou747 dsl je reprend ...
j'aimerai qu'on me précise si dans le code du calendrier en lui même (en jouant sur une variable égale à o ou 1 comme expliqué dans le doc texte joint au codesource) ou si dans les arguments a passer lors de l'appel de fonction, il était possible de rendre sélectionnable les weeks end (samedi et dimanche pour être bien clair)???
Le but étant d'utiliser ce calendrier dans un formulaire où l'utilisateur devra pourvoir sélectionner tous les jours d'une année civil.
Merci
coordialement, Chimon
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 28 mai 2005 à 08:45
adapter ou le voir adapté ?
Chimon73
Messages postés4Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention28 mai 2005 27 mai 2005 à 11:58
Salut TG,
J'aimerai adapter ton calendrier en rendant sélectionnable toutes les dates (oublie les weeks et jours fériés le net c 7jours/7 )!!!
Je suppose que ceci est possible vu toute les options que tu as mis a disposition de l'utilisateur averti mais je trouve pas étant un bon gros noob !!! merci
coordialement
Chimon au plus chiadé des calendrier !!!
sregg
Messages postés1Date d'inscriptionmardi 23 mars 2004StatutMembreDernière intervention16 mai 2005 16 mai 2005 à 17:28
Moi j'ai un ptit probleme.
A chaque page où je créé le Calendar avec un new Calandar, le calendrier s'affiche tt seul au début du lancement de la page et disparait. ( Sous IE et FF )
Est-ce normal ? Comment remédier à ce problème ?
Merci de ta réponse.
A part ca c'est un calendrier tres tres bien fait ^^.
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 11 mai 2005 à 11:33
Réponse au pb d'alban rencontré sur IE.
Après avoir cherché longtemps, je suis tombé sur une explication toute simple. C'est un bug de IE, qui à été rencontré dans d'autres sources sur ce site. Je vous suggere donc de placer le calendrier à une place fixe ou vous êtes sur de ne pas avoir de liste déroulante.
Cordialement
TG
cs_fras
Messages postés3Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention28 avril 2005 28 avril 2005 à 12:18
Ok, je croyais que TMAddHoliday servait à ajouter MES jours de cogés
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 28 avril 2005 à 08:38
Et oui il n'y en a plus besoin car j'ai introduit l'algorithme du calcul de la date de paques. Ainsi le calendrier connait les dates des jours fériers jusqu'à la fin des temps.
Pour avoir la date de paque il existe une méthode que l'on peut appeler. Il n'y a d'ailleur pas besion de faire afficher le calendrier. Il suffit de saisir la ligne suivante:
Calendar.MGetPaques(aaaa) aaaa étant l'année.
Pour savoir si une date est férier il existe :
Calendar.MJourFerie(date)
Cordialement
TG
cs_fras
Messages postés3Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 18:44
Merci, ça fonctionne nikel.
Par contre je viens de voir que la version que j'ai téléchargé ne contient pas la methode : TMAddHoliday
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 27 avril 2005 à 08:41
Salut fras,
Pour le bug je vais voir cela de plus près. Il n'y a pas vraiment de bug a proprement parlé mais une chronologie des instructions à revoir. Je vais réagencer tout cela. De même si un jour férier est aussi un jour fermé alors il prend le comportement d'un jour fermé.
En ce qui concerne la question , on peut modifier à la volée les parametre mais il faut appelé la méthode MConstructCalendar afin de rafraichir le calendrier.
Cordialement
TG
cs_fras
Messages postés3Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 01:40
très beau,
mais quelques petites remarques :
- [Bug ?]: Si aujourd'hui fait partie des MInitWeekDays; il peut-etre selectionné quand même.
- [Question]: On ne peut pas modifier les attributs (AShowToday , AShowComment, ...) à la volée ?
ex:
var Calendar = new TCalendar("Calendar");
Calendar.AShowToday =0;
mathieumg
Messages postés558Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention18 février 2006 2 mars 2005 à 16:23
Peut-être avec style.display="none" sur les Combo lorsqu'ils n'ont pas besoin d'être affichés ?
Mathieu M-Gosselin
mathieumg@qc-net.com
cs_albans
Messages postés2Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention 2 mars 2005 2 mars 2005 à 16:20
Bonjour;
J'ai un souci sous IE, par contre ça marche parfaitement bien avec les autres navigateurs. Voici le problème : les listes déroulantes apparaissent en avant-plan sur la page, si bien que le calendrier est "troué" lorsqu'on l'appelle puisque la liste déroulante est toujours visible, j'ai essayé d'utiliser le type z-index pour gérer les profondeurs mais cela ne marche pas non plus. Auriez-vous la solution à ce problème ... Testez vous même, c'est très étrange !!!! Merci d'avance
Albans
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 23 févr. 2005 à 11:56
problème d'encodage, surement pas de .net...
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007 23 févr. 2005 à 11:49
Re,
Ca y est, j'ai trouvé.
Avis aux codeurs .Net :
remplacez (ou virez c'est au choix) tous les caractères accentués dans les fichiers js. Car le gentil Monsieur .Net s'amuse à tous les remplacer par des caractères bidons, et au passage, il supprime la fin des mots. Du coup, dans le cas du mot "Août", il traduit par "Ao? sans fermer les guillemets...
Mais attention, ça ne le fait que pour des fichiers externes. Vous avez par contre le droit de mettre des accents entre 2 balises script d'une page aspx. Logique, quand tu nous tiens...
Bon, tous en coeur, on dit : Merci Bill pour nous pondre des outils sensés aider le développeur...
Donc, TG, ton code est super, et ne souffre d'aucun bug ^o^
@peluche et bon dev'
DA
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007 23 févr. 2005 à 09:41
Salut TG,
Merci pour le tuyau.
Bon, ça marche sans erreurs sur FireFox1.0
Là, j'en perds mon asp ^o^
Donc, il semble que .Net (pas IE, puisque ça marche dans une page html) pourrisse quelque peu le code JS.
De là à penser qu'il y a des caractères bidons qui sont rajoutés... Y'a qu'un pas
Bon, si t'as une idée je suis preneur. Je vais chercher de mon côté.
Bonne journée
DA
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 23 févr. 2005 à 09:23
Salut DeathAngel,
J'imagine que c'est avec internet explorer que tu test ton application. Si tu veux utilise Mozilla FireFox, il fourni une console javascript qui donne des informations plus complete sur les erreurs javascript. Comme le nom du fichier ou il a trouvé l'erreur. Ceci serai interressant pour pouvoir comprendre pourquoi il ne veux pas marcher. Si tu me donne les noms des fichiers je regarderai le problème.
A+
TG
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007 22 févr. 2005 à 18:02
Salut,
J'ai un pbm lors de l'intégration sous ASP.Net
C'est vraiment space :
si j'utilise les balises script avec src, j'ai 2 erreurs javascript (") attendue" ligne 78 car 35, et "constante chaîne non terminée" ligne 742, car 51)
Après plusieurs essais infructueux, j'ai utilisé le tag link. Là, plus d'erreurs visibles. Par contre, new TCalendar("Calendar") renvoie une erreur ("TCalendar indéfini")
Bon, je me doute que le tag link marche pas.
Par contre, je m'explique pas pourquoi un pauvre copier coller du html d'exemple dans une page aspx cause tant de problèmes.
Vous n'auriez pas une idée par hasard ?
Merci
DA
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 22 févr. 2005 à 09:49
Comme cela m'a été demandé, la dernière version à été allégé de 50% de ko sans perdre aucune fonctionnalité.
Merci pour les commentaires.
A+
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007 21 févr. 2005 à 10:12
Superbe, du grand art.
10/10
DA
mathieumg
Messages postés558Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention18 février 2006 20 févr. 2005 à 04:49
Chapeau! Magnifique....
Mathieu M-G
mathieumg@qc-net.com
cs_SebLep
Messages postés11Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention26 novembre 2005 19 févr. 2005 à 11:24
Tout à fait génial. Super pour un développement en intranet. Peut-être un peu lourd pour de l'internet.
As-tu une version plus light ?
zapidur
Messages postés1Date d'inscriptionvendredi 11 juin 2004StatutMembreDernière intervention19 février 2005 19 févr. 2005 à 11:04
Super, c'est vraiment du beau boulot.
juste un point qui pose pb, c'est le poids des .js. environ 100ko ça fait beaucoup.
mais sinon chapeau !
fg85
Messages postés370Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention13 avril 2007 18 févr. 2005 à 19:13
3 nov. 2009 à 22:50
J'ai 2 questions:
- il me semble que quand on fixe les bornes, ce serait pas mal si le calendrier affiche d'emblée le début des bornes.
Par exemple, j'appelle le calendrier avec les bornes entre le 1e janvier 2010 et le 15 février 2010. Alors, le calendrier affiche d'emblée le mois de janvier 2010 et non pas le mois courant. J'ai regardé le fichier calendar.js, mais un peu perdu dans les centaines de lignes de codes. Pouvez-vous me suggérer où je peux fixer ça ?
- j'aimerais intégrer une fonction qui calcul une date en fonction de la date choisie dans le calendrier. Donc ça doit intervenir au moment où l'utilisateur a fait le choix de la date et que le calendrier se ferme. J'ai supposé que c'était dans la fonction TMPopUpCalendar qu'il fallait placer l'appel à cette fonction (qui calcule j+nb de jour) et j'ai fait plusieurs essais, mais ça ne marche pas.
Pourriez-vous m'aider ???
Merci d'avance !
4 août 2008 à 10:07
Je reviens de vacances, donc pas tres frais, alors pour ma part je ne vois aucun inconveniant a ce que tu corrige, je ne pourrais pas le faire car trop de boulot par contrte n'hesite pas pour les questions, j'y repondrais par contre cela commence a faire un bon bout de temps que je n'ai pas relu le code donc je risque de pas etre trop reactif
Bon courage
16 juil. 2008 à 10:14
S'il ne veut pas, je veux bien essayer, avec son accord.
Pour l'instant, j'attends le retour de tguerlus à ce sujet. Je ne veux pas me lancer là dedans pour rien. Car y'a quand même pas mal de code à relire/comprendre/modifier.
16 juil. 2008 à 10:07
me voilà de retour sur mon sujet de compatbilité xhtml...je ne trouve toujours pas d'où vient le problème.
ça marche bien sous FF mais pas sous IE6 ni IE7.
TGUERLUS as-tu une idée de là où ça peur venir ?
je sais qu'ENGUERRANGILLET a planché sur le sujet car on a échangé en privé mais vu que je n'ai pas de retour j'imagine qu'il sèche aussi !
merci de ton aide
@+
HB
17 juin 2008 à 22:14
17 juin 2008 à 17:17
je ne vois vraiment pas...
12 juin 2008 à 10:42
Pour info, ma config, XP IE6 et 7
voilà le Calendrier.html :
=========================================================================================
test calendrier
selectionner une date entre le 01/11/2005 et le 25/11/2005 ou le 05/12/2005 et le 13/01/2006
var Calendar = new TCalendar("Calendar");
Calendar.MInitWeekDays(0,6);
======================================================================================
Le Calendar.js :
================
function TCalendar(id,position,x,y) {
//Attribut
this.AId = id;
this.AFixedX = (x==undefined)?-1:x; // x position (-1 if to appear below control)
this.AFixedY = (y==undefined)?-1:y; // y position (-1 if to appear below control)
this.APosition = (position==undefined)?"absolute":position;
this.AStartAt = 1; // 0 - sunday ; 1 - monday
this.AShowWeekNumber = 1; // 0 - don't show; 1 - show
this.AShowToday = 1; // 0 - don't show; 1 - show
this.AShowComment = 1; // 0 - don't show; 1 - show
this.AShowLegend = 1; // 0 - don't show; 1 - show
this.AStyleToday = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;text-align:center;font-size:9pt;color:white;font-family: Arial Verdana;cursor:default;padding:1px;z-index:99";
this.AStyleCalendar = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;text-align:left;font-size:9pt;color:white;font-family: Arial Verdana;cursor:default;padding:1px;z-index:99";
this.AStyleEntete = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;text-align:left;font-size:9pt;color:white;font-family: Arial Verdana;cursor:default;padding:1px;z-index:99";
this.AStyleComment = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;text-align:center;font-size:9pt;color:white;font-family: Arial Verdana;cursor:default;padding:1px;z-index:99";
this.AStyleLegend = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;text-align:center;font-size:9pt;color:white;font-family: Arial Verdana;cursor:default;padding:1px;z-index:99";
this.AStyleComposantOut = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;font-size:9pt;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleComposantOver = "border-left: #333333 1px solid;border-top: #333333 1px solid;border-right: #CAC9C8 1px solid;border-bottom: #CAC9C8 1px solid;background-color:#777777;font-size:9pt;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleCadrePopUp = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;padding:1px;z-index:99";
this.AStyleButtonPopUpOut = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleButtonPopUpOver = "border-left: #333333 1px solid;border-top: #333333 1px solid;border-right: #CAC9C8 1px solid;border-bottom: #CAC9C8 1px solid;background-color:#777777;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleCadreDay = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;padding:1px;z-index:99";
this.AStyleButtonDayOut = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#B9B8B3;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleButtonDayOver = "border-left: #333333 1px solid;border-top: #333333 1px solid;border-right: #CAC9C8 1px solid;border-bottom: #CAC9C8 1px solid;background-color:#777777;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleButtonDayHoliday = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#ACC14E;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleButtonDayWeek = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#DF9F15;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleButtonDaySelected = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#7951AE;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleButtonDayOld = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#51AE8D;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleButtonDayUnselected = "border-left: #CAC9C8 1px solid;border-top: #CAC9C8 1px solid;border-right: #333333 1px solid;border-bottom: #333333 1px solid;background-color:#73091F;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;cursor:pointer;padding:1px;z-index:99";
this.AStyleNumberWeek = "background-color:#A1A19F;font-size:9pt;text-align:center;color:white;font-family: Arial Verdana;padding:1px";
this.AStyleNameDay = "background-color:#A1A19F;font-size:9pt;font-weight:bold;text-align:center;color:black;font-family: Arial Verdana;padding:1px";
this.ADaySpacing = 0;
this.ATypeAnim = 0;
this.AVitesseAnim = 7;
this.AImgDir = "/IncClient/images/"; // directory for images ... e.g. this.AImgDir="/img/"
this.ADayCloses = new Array([0]);
this.AGotoString = "Mois courant";
this.ATodayString = "Aujourd hui :";
this.AWeekString = "n°";
this.AScrollLeftMessage = "Cliquer pour passer au mois précédent. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.AScrollRightMessage = "Cliquer pour passer au mois suivant. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.AScrollLeftMessageYear = "Cliquer pour passer à l année précédente. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.AScrollRightMessageYear = "Cliquer pour passer à l année suivante. Maintenir le bouton de la souris enfoncé pour le défilement automatique.";
this.ASelectMonthMessage = "Cliquer pour sélectionner un mois.";
this.ASelectYearMessage = "Cliquer pour sélectionner année.";
this.ASelectDateMessage = "Choisir la date [date]."; // do not replace [date], it will be replaced by date.
this.AMonthSelected = "";
this.AYearSelected = "";
this.ADateSelected = "";
this.AOmonthSelected = "";
this.AOyearSelected = "";
this.AOdateSelected = "";
this.AMonthConstructed = false;
this.AYearConstructed = false;
this.AIntervalID1 = "";
this.AIntervalID2 = "";
this.ATimeoutID1 = "";
this.ATimeoutID2 = "";
this.ACtlToPlaceValue = null;
this.ACtlNow = null;
this.ADateFormat = "jj/mm/yyyy";
this.ANStartingYear = "";
this.ADayWeek = false;
this.ADayHoliday = false;
this.ABorne = null;
this.AToday = new Date();
this.ADateNow = this.AToday.getDate();
this.AMonthNow = this.AToday.getMonth();
this.AYearNow = this.AToday.getYear();
if (!MS) this.AYearNow += 1900;
this.ABShow = false;
this.ABPageLoaded=false;
this.AStrEaster = "Pâques";
this.AStrEasterMonday = "Lundi de Pâques";
this.AStrAscension = "Ascension";
this.AStrPentecostMonday = "Lundi de Pentecôte";
this.AStrPentecost = "Pentecôte";
this.AMonthName = new Array ("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
this.ADayName = (this.AStartAt==0)?new Array ("Dim","Lun","Mar","Mer","Jeu","Ven","Sam"):new Array ("Lun","Mar","Mer","Jeu","Ven","Sam","Dim");
//Méthodes:
this.MInit = TMInit;
this.MPopUpCalendar = TMPopUpCalendar;
this.MFormatDate = TMFormatDate;
this.MConstructCalendar = TMConstructCalendar;
this.MConstructDate = TMConstructDate;
this.MWeekNbr = TMWeekNbr;
this.MHideCalendar = TMHideCalendar;
this.MDecMonth = TMDecMonth;
this.MIncMonth = TMIncMonth;
this.MShowComment = TMShowComment;
this.MShowLegend = TMShowLegend;
this.MStartDecMonth = TMStartDecMonth;
this.MStartIncMonth = TMStartIncMonth;
this.MCloseCalendar = TMCloseCalendar;
this.MPopUpMonth = TMPopUpMonth;
this.MConstructMonth = TMConstructMonth;
this.MPopDownYear = TMPopDownYear;
this.MPopDownMonth = TMPopDownMonth;
this.MPopUpYear = TMPopUpYear;
this.MConstructYear = TMConstructYear;
this.MIncYear = TMIncYear;
this.MDecYear = TMDecYear;
this.MIncYearAuto = TMIncYearAuto;
this.MDecYearAuto = TMDecYearAuto;
this.MStartDecYear = TMStartDecYear;
this.MStartIncYear = TMStartIncYear;
this.MSelectYear = TMSelectYear;
this.MShowDefault = TMShowDefault;
this.MShowScroll = TMShowScroll;
this.MShowOpacity = TMShowOpacity;
this.MSetXY = TMSetXY;
this.MInitWeekDays = TMInitWeekDays;
this.MJourFerie = TMJourFerie;
this.MGetPaques = TMGetPaques;
// Initialisation
this.MInit();
}
function TMInitWeekDays () {
var i = 0;
this.ADayCloses.clear();
while(arguments[i] != null)
this.ADayCloses.push(arguments[i++]);
}
function TMInit() {
var htmlText = "";
var attStyle = "";
htmlText += "";
htmlText += "";
htmlText += "";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
if (this.AShowLegend == 1) {
htmlText += " ";
htmlText += " ? ";
}
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += "";
htmlText += "";
htmlText += " ";
htmlText += "";
if (this.AShowToday==1) {
htmlText += "";
htmlText += " ";
htmlText += this.ATodayString;
htmlText += " ";
htmlText += this.ADayName[(this.AToday.getDay()-this.AStartAt==-1)?6:(this.AToday.getDay()-this.AStartAt)]+", " + this.ADateNow + " " + this.AMonthName[this.AMonthNow] + " " + this.AYearNow + "";
htmlText += " ";
htmlText += "";
}
if (this.AShowLegend == 1) {
htmlText += "";
htmlText += " ";
htmlText += " ";
attStyle = (this.AStyleButtonDayHoliday.is_style())?"style":"class";
htmlText += " ";
htmlText += " ";
htmlText += " Jours fériers";
htmlText += " ";
attStyle = (this.AStyleButtonDayWeek.is_style())?"style":"class";
htmlText += " ";
htmlText += " ";
htmlText += " Jours fermés dans une semaine";
htmlText += " ";
attStyle = (this.AStyleButtonDaySelected.is_style())?"style":"class";
htmlText += " ";
htmlText += " ";
htmlText += " Aujourd'hui";
htmlText += " ";
attStyle = (this.AStyleButtonDayOld.is_style())?"style":"class";
htmlText += " ";
htmlText += " ";
htmlText += " Jour sélectionné";
htmlText += " ";
attStyle = (this.AStyleButtonDayUnselected.is_style())?"style":"class";
htmlText += " ";
htmlText += " ";
htmlText += " Jours non sélectionnables";
htmlText += " ";
attStyle = (this.AStyleButtonDayOut.is_style())?"style":"class";
htmlText += " ";
htmlText += " ";
htmlText += " Jours normaux";
htmlText += " ";
htmlText += " ";
htmlText += " ";
htmlText += "";
}
if (this.AShowComment == 1) {
htmlText += "";
htmlText += " ";
htmlText += " ";
htmlText += "";
}
htmlText += "";
htmlText += "";
htmlText += "";
document.write (htmlText);
set_style_div("id",this.AId,null,this.AStyleCalendar);
set_position_div("id",this.AId,null,this.APosition);
set_style_div("id",this.AId+"_entete",null,this.AStyleEntete);
if (this.AShowToday==1) set_style_div("id",this.AId+"_lblToday",null,this.AStyleToday);
if (this.AShowComment==1) {
set_style_div("id",this.AId+"_comment",null,this.AStyleComment);
getElem("id",this.AId+"_comment").style.display = "none";
}
if (this.AShowLegend==1) {
set_style_div("id",this.AId+"_legend",null,this.AStyleLegend);
getElem("id",this.AId+"_legend").style.display = "none";
set_style_div("id",this.AId+"_spanLegend",null,this.AStyleComposantOut);
}
set_style_div("id",this.AId+"_spanLeft",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanRight",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanLeftYear",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanRightYear",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanMonth",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanYear",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanYearBas",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanMonthBas",null,this.AStyleComposantOut);
this.AMonthConstructed=false;
this.AYearConstructed=false;
this.ABPageLoaded=true;
this.MHideCalendar();
}
function TMShowLegend () {
if (getElem("id",this.AId+"_legend").style.display == "none")
getElem("id",this.AId+"_legend").style.display = "block";
else
getElem("id",this.AId+"_legend").style.display = "none";
}
function TMConstructCalendar () {
var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31);
var dateMessage;
var startDate = new Date (this.AYearSelected,this.AMonthSelected,1);
var endDate;
var numDaysInMonth;
var datePointer = 0;
var sHTML = "";
var sHint = "";
var sStyle = "";
var attStyle = "style";
var datetype = null;
var jourferier = "";
if (this.AMonthSelected==1) {
endDate = new Date (this.AYearSelected,this.AMonthSelected+1,1);
endDate = new Date (endDate - (24*60*60*1000));
numDaysInMonth = endDate.getDate();
}
else numDaysInMonth = aNumDays[this.AMonthSelected];
dayPointer = startDate.getDay() - this.AStartAt;
if (dayPointer= borneinf && nbr = 0 && anneenum
11 juin 2008 à 11:34
11 juin 2008 à 11:09
peux-tu poster ton fichier js et ton html, ou tout ce qui est nécessaire pour faire tourner ta page ?
Je ferai des tests dès que possible avec pour voir ce qui cloche.
Bonne journée.
Enguerran
10 juin 2008 à 15:38
compte tenu du fait que ce source n'a pas été commenté depuis un an j'espere qu'il y aura quand même une bonne âme pour m'aider...
En réalité j'ai le même problème que pwet8484 : les listes des mois et des années n'apparaissent pas quand je clique sur les fleches du bas.
Pourtan, j'ai reformaté tout le code pour qu'il soit accepté en XHTML 1.0. (enfin je crois !..j'ai mis les balises en minuscules, fermé les , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
htmlText += \" , \";
if (this.AShowLegend == 1) {
htmlText += \" , \";
htmlText += \" ? , \";
}
htmlText += "
";
htmlText += "
";
htmlText += " </td><td valign='middle' style='cursor:pointer'>";
htmlText += " ";
htmlText += " </td></tr>";
htmlText += " </table>";
htmlText += "</td></tr>";
htmlText += "<tr><td align='center'>";
htmlText += "
";
htmlText += "</td></tr>";
if (this.AShowToday==1) {
htmlText += "<tr><td align='center'>";
htmlText += "
";
htmlText += this.ATodayString;
htmlText += " ";
htmlText += this.ADayName[(this.AToday.getDay()-this.AStartAt==-1)?6:(this.AToday.getDay()-this.AStartAt)]+", " + this.ADateNow + " " + this.AMonthName[this.AMonthNow] + " " + this.AYearNow + "";
htmlText += "
";
htmlText += "</td></tr>";
}
if (this.AShowLegend == 1) {
htmlText += "<tr><td align='center'>";
htmlText += "
";
htmlText += " \";
attStyle = (this.AStyleButtonDayHoliday.is_style())?\"style\":\"class\";
htmlText += \" ----
\";
htmlText += \" , \";
htmlText += \" Jours fériers, \";
htmlText += \" \";
attStyle = (this.AStyleButtonDayWeek.is_style())?\"style\":\"class\";
htmlText += \" ----
\";
htmlText += \" , \";
htmlText += \" Jours fermés dans une semaine, \";
htmlText += \" \";
attStyle = (this.AStyleButtonDaySelected.is_style())?\"style\":\"class\";
htmlText += \" ----
\";
htmlText += \" , \";
htmlText += \" Aujourd'hui, \";
htmlText += \" \";
attStyle = (this.AStyleButtonDayOld.is_style())?\"style\":\"class\";
htmlText += \" ----
\";
htmlText += \" , \";
htmlText += \" Jour sélectionné, \";
htmlText += \" \";
attStyle = (this.AStyleButtonDayUnselected.is_style())?\"style\":\"class\";
htmlText += \" ----
\";
htmlText += \" , \";
htmlText += \" Jours non sélectionnables, \";
htmlText += \" \";
attStyle = (this.AStyleButtonDayOut.is_style())?\"style\":\"class\";
htmlText += \" ----
\";
htmlText += \" , \";
htmlText += \" Jours normaux, \";
htmlText += \" \";
htmlText += "
";
htmlText += "
";
htmlText += "</td></tr>";
}
if (this.AShowComment == 1) {
htmlText += "<tr><td align='center'>";
htmlText += "
";
htmlText += "
";
htmlText += "</td></tr>";
}
htmlText += "</table>
";
htmlText += "
";
htmlText += "
";
document.write (htmlText);
set_style_div("id",this.AId,null,this.AStyleCalendar);
set_position_div("id",this.AId,null,this.APosition);
set_style_div("id",this.AId+"_entete",null,this.AStyleEntete);
if (this.AShowToday==1) set_style_div("id",this.AId+"_lblToday",null,this.AStyleToday);
if (this.AShowComment==1) {
set_style_div("id",this.AId+"_comment",null,this.AStyleComment);
getElem("id",this.AId+"_comment").style.display = "none";
}
if (this.AShowLegend==1) {
set_style_div("id",this.AId+"_legend",null,this.AStyleLegend);
getElem("id",this.AId+"_legend").style.display = "none";
set_style_div("id",this.AId+"_spanLegend",null,this.AStyleComposantOut);
}
set_style_div("id",this.AId+"_spanLeft",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanRight",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanLeftYear",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanRightYear",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanMonth",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanYear",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanYearBas",null,this.AStyleComposantOut);
set_style_div("id",this.AId+"_spanMonthBas",null,this.AStyleComposantOut);
this.AMonthConstructed=false;
this.AYearConstructed=false;
this.ABPageLoaded=true;
this.MHideCalendar();
}
function TMShowLegend () {
if (getElem("id",this.AId+"_legend").style.display == "none")
getElem("id",this.AId+"_legend").style.display = "block";
else
getElem("id",this.AId+"_legend").style.display = "none";
}
function TMConstructCalendar () {
var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31);
var dateMessage;
var startDate = new Date (this.AYearSelected,this.AMonthSelected,1);
var endDate;
var numDaysInMonth;
var datePointer = 0;
var sHTML = "";
var sHint = "";
var sStyle = "";
var attStyle = "style";
var datetype = null;
var jourferier = "";
if (this.AMonthSelected==1) {
endDate = new Date (this.AYearSelected,this.AMonthSelected+1,1);
endDate = new Date (endDate - (24*60*60*1000));
numDaysInMonth = endDate.getDate();
}
else numDaysInMonth = aNumDays[this.AMonthSelected];
dayPointer = startDate.getDay() - this.AStartAt;
if (dayPointer<0) dayPointer = 6;
sHTML += "\";
if (this.AShowWeekNumber==1) {
if (this.AStyleNumberWeek.is_style()) attStyle = \"style\";
else attStyle = \"class\";
sHTML += \"" + this.AWeekString + ", \";
sHTML += \", \";
}
if (this.AStyleNameDay.is_style()) attStyle = \"style\";
else attStyle = \"class\";
for (i=0; i<7; i++) {
sHTML += \""+this.ADayName[i]+", \";
}
sHTML +=\"----
\";
if (this.AShowWeekNumber==1) {
if (this.AStyleNumberWeek.is_style()) attStyle = \"style\";
else attStyle = \"class\";
sHTML += \"" + this.MWeekNbr(startDate) + ", \";
}
for ( var i=1; i<=dayPointer;i++ ) {sHTML += \", \";}
for ( datePointer=1; datePointer<=numDaysInMonth; datePointer++ ) {
dayPointer++;
sHint = \"\";
sStyle = this.AStyleButtonDayOut;
jourferier = this.MJourFerie(String(datePointer).fillPrevChar(\"0\",2)+\"/\"+String(parseInt(this.AMonthSelected)+1).fillPrevChar(\"0\",2)+\"/\"+this.AYearSelected);
if ((datePointer==this.ADateNow)&&(this.AMonthSelected==this.AMonthNow)&&(this.AYearSelected==this.AYearNow))
sStyle = this.AStyleButtonDaySelected;
if ((datePointer==this.AOdateSelected) && (this.AMonthSelected==this.AOmonthSelected) && (this.AYearSelected==this.AOyearSelected))
sStyle=this.AStyleButtonDayOld;
if (jourferier != \"\") {
sStyle=this.AStyleButtonDayHoliday;
sHint+=sHint==\"\"?jourferier:\"\n\"+jourferier;
}
if (this.ADayCloses.is_in(dayPointer%7))
sStyle = this.AStyleButtonDayWeek;
if (this.ABorne) {
datetype = String(this.AYearSelected)+String(this.AMonthSelected+1).fillPrevChar(\"0\",2)+String(datePointer).fillPrevChar(\"0\",2);
if (!this.ABorne.in_born(datetype))
sStyle=this.AStyleButtonDayUnselected;
}
var regexp= /\\"/g;
sHint=sHint.replace(regexp,\""\");
dateMessage = \"onmouseover='javascript:set_style_div(\\"id\\",this.id,null,\\"\"+this.AStyleButtonDayOver+\"\\");\"+this.AId+\".MShowComment(\\"\"+this.ASelectDateMessage.replace(\"[date]\",this.MConstructDate(datePointer,this.AMonthSelected,this.AYearSelected))+\"\\");' onmouseout='javascript:set_style_div(\\"id\\",this.id,null,\\"\"+sStyle+\"\\");\"+this.AId+\".MShowComment(\\"\\");' onclick='javascript:\"+this.AId+\".ADateSelected=\"+datePointer + \";\"+this.AId+\".MCloseCalendar();'\";
if ((sStyle == this.AStyleButtonDayUnselected) ||
(sStyle == this.AStyleButtonDayHoliday && this.ADayHoliday) ||
(sStyle == this.AStyleButtonDayWeek && this.ADayWeek))
dateMessage = \"onmouseover='javascript:\"+this.AId+\".MShowComment(\\"Date non sélectionnable\\");' onmouseout='javascript:\"+this.AId+\".MShowComment(\\"\\");' \";
if (sStyle.is_style()) attStyle = \"style\";
else attStyle = \"class\";
sHTML += \"" + padZero(datePointer) + "
";
sHTML += ", \";
sHTML += \"\";
if ((dayPointer+this.AStartAt) % 7 == this.AStartAt) {
sHTML += \"----
\" ;
if ((this.AShowWeekNumber==1)&&(datePointer<numDaysInMonth)) {
if (this.AStyleNumberWeek.is_style()) attStyle = \"style\";
else attStyle = \"class\";
sHTML += \"" + (this.MWeekNbr(new Date(this.AYearSelected,this.AMonthSelected,datePointer+1))) + ", \";
}
}
}
setCont(\"id\",this.AId+\"_content\",null,sHTML);
setCont(\"id\",this.AId+\"_spanMonth\",null,\" \"+this.AMonthName[this.AMonthSelected]+\" \");
setCont(\"id\",this.AId+\"_spanYear\",null,\" \"+this.AYearSelected+\" \");
set_style_div(\"id\",this.AId+\"_cadrejour\",null,this.AStyleCadreDay);
}
function TMShowComment(message) {
if (this.AShowComment == 1) {
if (message != \"\") {
getElem(\"id\",this.AId+\"_comment\").style.display = \"block\";
setCont(\"id\",this.AId+\"_comment\",null,message);
}
else getElem(\"id\",this.AId+\"_comment\").style.display = \"none\";
}
}
function TMFormatDate(format) {
return (this.ADateFormat.split(format).length < 3)?\"\":format;
}
function TMPopUpCalendar(ctl,ctl2,format,borne,jourfermer,jourferier) {
var leftpos=-200;
var toppos=0;
var formatChar = \" \";
var aFormat;
var tokensChanged = 0;
var aDate;
this.ABorne (borne undefined || borne == null)?null:borne;this.ADayWeek (jourfermer undefined || jourfermer == null)?false:jourfermer;this.ADayHoliday (jourferier undefined || jourferier == null)?false:jourferier;
if (this.ABPageLoaded)
{
if (!is_visible_div(\"id\",this.AId)) {
this.ACtlToPlaceValue = ctl2;
this.ADateFormat = format;
formatChar = this.MFormatDate(\" \") +
this.MFormatDate(\"/\") +
this.MFormatDate(\".\") +
this.MFormatDate(\"-\");
tokensChanged = 0;
if ( formatChar != \"\" ) {
aFormat = this.ADateFormat.split(formatChar);
aData = this.ACtlToPlaceValue.value.split(formatChar);
for (i=0;i<3;i++) {
if ((aFormat[i].toLowerCase()==\"d\") || (aFormat[i].toLowerCase()==\"dd\")) {
this.ADateSelected = parseInt(aData[i], 10);
tokensChanged ++;
}
else if ((aFormat[i].toLowerCase()==\"m\") || (aFormat[i].toLowerCase()==\"mm\")) {
this.AMonthSelected = parseInt(aData[i], 10) - 1;
tokensChanged ++;
}
else if (aFormat[i].toLowerCase()==\"mmm\") {
this.AMonthSelected= parseInt((aData[i])?aData[i].getNumMonth():null)-1;
tokensChanged ++;
}
else if (aFormat[i].toLowerCase()==\"yyyy\") {
this.AYearSelected = parseInt(aData[i], 10);
tokensChanged ++;
}
}
}
if ((tokensChanged!=3)||isNaN(this.ADateSelected)||isNaN(this.AMonthSelected)||isNaN(this.AYearSelected)) {
this.ADateSelected = this.ADateNow;
this.AMonthSelected = this.AMonthNow;
this.AYearSelected = this.AYearNow;
}
this.AOdateSelected = this.ADateSelected;
this.AOmonthSelected = this.AMonthSelected;
this.AOyearSelected = this.AYearSelected;
this.MConstructCalendar ();
this.ABShow = true;
this.MSetXY();
switch(this.ATypeAnim) {
case 0: this.MShowDefault();break;
case 1 : this.MShowScroll(\"right\");break;
case 2: this.MShowScroll(\"left\");break;
case 3: this.MShowScroll(\"top\");break;
case 4: this.MShowScroll(\"bottom\");break;
case 5: this.MShowOpacity();break;
default: this.MShowDefault();break;
}
}
else {
if (this.ACtlNow != ctl) {
hide_div(\"id\",this.AId);
this.MPopUpCalendar(ctl,ctl2,format,borne,jourfermer,jourferier);
}
else this.MHideCalendar();
}
this.ACtlNow = ctl;
}
}
function TMSetXY() {
var x = get_x_obj(this.ACtlToPlaceValue);
var y = get_y_obj(this.ACtlToPlaceValue)+this.ACtlToPlaceValue.offsetHeight+2;
var l = get_l_div(\"id\",this.AId);
var h = get_h_div(\"id\",this.AId);
if ((x+l) >= (left_fenetre()+largeur_fenetre()))
x = left_fenetre()+largeur_fenetre()-l-(MS?33:0);
if ((y+h) >= (top_fenetre()+hauteur_fenetre()))
y = top_fenetre()+hauteur_fenetre()-h;
set_x_div(\"id\",this.AId,null,(this.AFixedX==-1)?x:this.AFixedX);
set_y_div(\"id\",this.AId,null,(this.AFixedY==-1)?y:this.AFixedY);
}
function TMShowDefault() {
show_div(\"id\",this.AId);
}
function TMShowScroll(direction) {
move_clip_open(\"id\",this.AId,null,direction,this.AVitesseAnim,3,0,\"\");
}
function TMShowOpacity() {
show_div(\"id\",this.AId);
if (!OP) opacity_open_div(\"id\",this.AId,null,0.15,this.AVitesseAnim,\"\");
}
function TMHideCalendar() {
if (getElem(\"id\",this.AId+\"_selectMonth\")) hide_div(\"id\",this.AId+\"_selectMonth\");
if (getElem(\"id\",this.AId+\"_selectYear\")) hide_div(\"id\",this.AId+\"_selectYear\");
switch(this.ATypeAnim) {
case 0: hide_div(\"id\",this.AId);break;
case 1: move_clip_close(\"id\",this.AId,null,\"left\",this.AVitesseAnim,3,0,\"\");break;
case 2: move_clip_close(\"id\",this.AId,null,\"right\",this.AVitesseAnim,3,0,\"\");break;
case 3: move_clip_close(\"id\",this.AId,null,\"bottom\",this.AVitesseAnim,3,0,\"\");break;
case 4: move_clip_close(\"id\",this.AId,null,\"top\",this.AVitesseAnim,3,0,\"\");break;
case 5: if (!OP) opacity_close_div(\"id\",this.AId,null,0.15,this.AVitesseAnim,\"hide_div(\\"id\\",\\"\"+this.AId+\"\\");\");break;
}
}
function padZero(num) {
return (num < 10)? '0' + num : num ;
}
function TMConstructDate(d,m,y)
{
sTmp = this.ADateFormat;
sTmp = sTmp.replace (\"dd\",\"<e>\");
sTmp = sTmp.replace (\"d\",\"<d>\");
sTmp = sTmp.replace (\"<e>\",padZero(d));
sTmp = sTmp.replace (\"<d>\",d);
sTmp = sTmp.replace (\"mmm\",\"<o>\");
sTmp = sTmp.replace (\"mm\",\"<n>\");
sTmp = sTmp.replace (\"m\",\"<m>\");
sTmp = sTmp.replace (\"<m>\",m+1);
sTmp = sTmp.replace (\"<n>\",padZero(m+1));
sTmp = sTmp.replace (\"<o>\",this.AMonthName[m]);
return sTmp.replace (\"yyyy\",y);
}
function TMCloseCalendar() {
this.MHideCalendar();
this.ACtlToPlaceValue.value = this.MConstructDate(this.ADateSelected,this.AMonthSelected,this.AYearSelected);
}
function TMStartDecMonth() {this.AIntervalID1 = setInterval(this.AId+\".MDecMonth()\",80);}
function TMStartIncMonth() {this.AIntervalID1 = setInterval(this.AId+\".MIncMonth()\",80);}
function TMStartDecYear() {this.AIntervalID1 = setInterval(this.AId+\".MDecYearAuto()\",80);}
function TMStartIncYear() {this.AIntervalID1 = setInterval(this.AId+\".MIncYearAuto()\",80);}
function TMIncMonth () {
this.AMonthSelected++;
if (this.AMonthSelected>11) {
this.AMonthSelected=0;
this.AYearSelected++;
}
this.MConstructCalendar();
}
function TMDecMonth () {
this.AMonthSelected--;
if (this.AMonthSelected<0) {
this.AMonthSelected=11;
this.AYearSelected--;
}
this.MConstructCalendar();
}
function TMIncYearAuto () {
this.AYearSelected++;
this.MConstructCalendar();
}
function TMDecYearAuto () {
this.AYearSelected--;
this.MConstructCalendar();
}
function TMConstructMonth() {
var sHTML = \"\";
var sName = \"\";
this.MPopDownYear();
if (!this.AMonthConstructed) {
sHTML = \"\";
for (i=0; i<12; i++) {
sName = this.AMonthName[i];
if (i==this.AMonthSelected){
sName = \" \" + sName + \" \";
}
sHTML + = \"----
" + sName + ", \";
}
setCont("id",this.AId+"_selectMonth",null,"<table id= '"+this.AId+"_cadrepopupmonth' width='70' cellspacing='0' onmouseover='clearTimeout("+this.AId+".ATimeoutID1);' onmouseout='clearTimeout("+this.AId+".ATimeoutID1);"+this.AId+".ATimeoutID1=setTimeout(\""+this.AId+".MPopDownMonth()\",100);event.cancelBubble=true;'>" + sHTML + "
");
set_style_div("id",this.AId+"_cadrepopupmonth",null,this.AStyleCadrePopUp);
for (i=0; i<12; i++)
set_style_div("id",this.AId+"_m" + i,null,this.AStyleButtonPopUpOut);
this.AMonthConstructed=true;
}
}
function TMPopUpMonth() {
this.MConstructMonth();
set_x_div("id",this.AId+"_selectMonth",null,get_x_div("id",this.AId+"_spanMonth"));
set_y_div("id",this.AId+"_selectMonth",null,get_y_div("id",this.AId+"_spanMonth")+get_h_div("id",this.AId+"_spanMonth"));
show_div("id",this.AId+"_selectMonth");
}
function TMPopDownMonth() {hide_div("id",this.AId+"_selectMonth");}
function TMIncYear() {
var newYear = "";
var txtYear = "";
for (i=0; i<7; i++){
newYear = (i+this.ANStartingYear)+1;
if (newYear==this.AYearSelected) txtYear = " " + newYear + " ";
else txtYear = " " + newYear + " ";
setCont("id",this.AId+"_y"+i,null,txtYear);
}
this.ANStartingYear ++;
this.ABShow= true;
}
function TMDecYear() {
var newYear = "";
var txtYear = "";
for (i=0; i<7; i++){
newYear = (i+this.ANStartingYear)-1;
if (newYear==this.AYearSelected) txtYear = " " + newYear + " ";
else txtYear = " " + newYear + " ";
setCont("id",this.AId+"_y"+i,null,txtYear);
}
this.ANStartingYear --;
this.ABShow= true;
}
function TMSelectYear(nYear) {
this.AYearSelected=parseInt(nYear+this.ANStartingYear);
this.AYearConstructed=false;
this.MConstructCalendar();
this.MPopDownYear();
}
function TMConstructYear() {
var sHTML = "";
var sName = "";
var j = 0;
this.MPopDownMonth();
if (!this.AYearConstructed) {
sHTML = "<tr><td id='"+this.AId+"_moins' onmouseover='set_style_div("id",this.id,null,""+this.AStyleButtonPopUpOver+"");' onmouseout='clearInterval("+this.AId+".AIntervalID1);set_style_div("id",this.id,null,""+this.AStyleButtonPopUpOut+"");' onmousedown='clearInterval("+this.AId+".AIntervalID1);"+this.AId+".AIntervalID1=setInterval(""+this.AId+".MDecYear()",30);' onmouseup='clearInterval("+this.AId+".AIntervalID1);'>-</td></tr>";
j = 0;
this.ANStartingYear = this.AYearSelected-3;
for (i=(this.AYearSelected-3); i<=(this.AYearSelected+3); i++) {
sName = i;
if (i==this.AYearSelected){
sName = " " + sName + " ";
}
sHTML + = "<tr><td id='"+this.AId+"_y" + j + "' onmouseover='set_style_div("id",this.id,null,""+this.AStyleButtonPopUpOver+"");' onmouseout='set_style_div("id",this.id,null,""+this.AStyleButtonPopUpOut+"");' onclick='"+this.AId+".MSelectYear("+j+");event.cancelBubble=true'>" + sName + "</td></tr>";
j ++;
}
sHTML += "<tr><td id='"+this.AId+"_plus' onmouseover='set_style_div("id",this.id,null,""+this.AStyleButtonPopUpOver+"");' onmouseout='clearInterval("+this.AId+".AIntervalID2);set_style_div("id",this.id,null,""+this.AStyleButtonPopUpOut+"");' onmousedown='clearInterval("+this.AId+".AIntervalID2);"+this.AId+".AIntervalID2=setInterval(""+this.AId+".MIncYear()",30);' onmouseup='clearInterval("+this.AId+".AIntervalID2);'>+</td></tr>";
setCont("id",this.AId+"_selectYear",null,"" + sHTML + "
");
set_style_div("id",this.AId+"_cadrepopupyear",null,this.AStyleCadrePopUp);
set_style_div("id",this.AId+"_moins",null,this.AStyleButtonPopUpOut);
set_style_div("id",this.AId+"_plus",null,this.AStyleButtonPopUpOut);
j=0;
for (i=(this.AYearSelected-3); i<=(this.AYearSelected+3); i++)
set_style_div("id",this.AId+"_y" + (j++),null,this.AStyleButtonPopUpOut);
this.AYearConstructed = true;
}
}
function TMPopDownYear() {
clearInterval(this.AIntervalID1);
clearTimeout(this.ATimeoutID1);
clearInterval(this.AIntervalID2);
clearTimeout(this.ATimeoutID2);
hide_div("id",this.AId+"_selectYear");
}
function TMPopUpYear() {
this.MConstructYear();
set_x_div("id",this.AId+"_selectYear",null,get_x_div("id",this.AId+"_spanYear"));
set_y_div("id",this.AId+"_selectYear",null,get_y_div("id",this.AId+"_spanYear")+get_h_div("id",this.AId+"_spanYear"));
show_div("id",this.AId+"_selectYear");
}
/*** calendar ***/
function TMWeekNbr(n) {
var year = n.getFullYear();
var month = n.getMonth() + 1;
var day (this.AStartAt 0)?n.getDate() + 1:n.getDate();
var a = Math.floor((14-month) / 12);
var y = year + 4800 - a;
var m = month + 12 * a - 3;
var b = Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400);
var J = day + Math.floor((153 * m + 2) / 5) + 365 * y + b - 32045;
var d4 = (((J + 31741 - (J % 7)) % 146097) % 36524) % 1461;
var L = Math.floor(d4 / 1460);
var d1 = ((d4 - L) % 365) + L;
var week = Math.floor(d1/7) + 1;
return week;
}
/*----------------------------------------------------------------------------*/
// Teste si une date est un jour férié
/*----------------------------------------------------------------------------*/
function TMJourFerie(DtDate) {
var Y = DtDate.substr(6);
var desc = "";
var dtpaques = this.MGetPaques(parseInt(Y));
// Fêtes mobiles
var DtPaques = dtpaques.JJMMAAAA("/");
var DtLundiPaques = dtpaques.addDay(1).JJMMAAAA("/");
var DtAscension = dtpaques.addDay(39).JJMMAAAA("/");
var DtPentecote = dtpaques.addDay(49).JJMMAAAA("/");
var DtLundiPentecote = dtpaques.addDay(50).JJMMAAAA("/");
// Fêtes fixes
var DtNoel = "25/12/" + Y;
var DtAn = "01/01/" + Y;
var DtTravail = "01/05/" + Y;
var DtArm2g = "08/05/" + Y;
var DtFNat = "14/07/" + Y;
var DtAssomption = "15/08/" + Y;
var DtToussaint = "01/11/" + Y;
var DtArm1G = "11/11/" + Y;
// Informe l'utilisateur d'un éventuel jour férié
if (DtDate DtPaques) desc "Pâcques";
if (DtDate DtLundiPaques) desc "Lundi de Pâcques";
else if (DtDate DtAscension) desc "Ascencion";
else if (DtDate DtPentecote) desc "Pentecôte";
else if (DtDate DtLundiPentecote) desc "Lundi de Pentecôte";
else if (DtDate DtNoel) desc "Noël";
else if (DtDate DtAn) desc "Jour de l'An";
else if (DtDate DtTravail) desc "Fête du travail";
else if (DtDate DtArm2g) desc "Armistice 1945";
else if (DtDate DtFNat) desc "Fête Nationale";
else if (DtDate DtAssomption) desc "Assomption";
else if (DtDate DtToussaint) desc "Toussaint";
else if (DtDate DtArm1G) desc "Armistice 1918";
return desc;
} //fin JourFerie
function TMGetPaques(year) {
var A = year%19;
var B = Math.floor(year/100);
var C = year%100;
var D = Math.floor(B/4);
var E = B%4;
var F = Math.floor((B+8)/25);
var G = Math.floor((B-F+1)/3);
var H = (19*A+B-D-G+15)%30;
var I = Math.floor(C/4);
var K = C%4;
var L = (32+2*E+2*I-H-K)%7;
var M = Math.floor((A+11*H+22*L)/451);
var month = Math.floor((H+L-7*M+114)/31);
var day = (H+L-7*M+114)%31;
var dt = new Date(year,month-1,day+1);
return dt;
}
3 mai 2007 à 09:18
Je viens de faire un test sur IE 6 et tous marche très bien. J'arrive a afficher les listes des mois et des années.
2 mai 2007 à 16:50
J'ai tout de même rencontré un petit soucis sous IE 6 :
Lorsque l'on clique sur le bouton "flèche du bas" pour faire apparaitre la liste des mois, celle ci n'apparait pas sous IE6. (C'est le même problème quand on veut faire afficher la liste des années).
Ce n'est pas un bug paralysant (puisqu'on peut toujours faire défiler les mois/années avec les flèches droites/gauches) mais c'est juste génant...
Est ce que quelqu'un aurait une solution?
31 août 2006 à 15:11
"TMPopUpCalendar(ctl,ctl2,format,borne,jourfermer,jourferier)" autrement dit un truc genre "TMPopUpCalendar(ctl2,format,borne,jourfermer,jourferier)" et que je puisse declancher ton calendrier sur un autre evenement que onclick ,par exemple onLoad ou autre. Je t'en serait tres reconnaissant merci beaucoup et encore une fois super ton calendrier.
5 juil. 2006 à 15:48
Ok, merci.
Pour ceux que ça intéresse, j'ai fait comme ça :
* Si date du jour < date de debut de congé -> date du jour à (date de debut de congé - 1) + (date de fin de congé +1) à l'infini
* Si date du jour <= date de fin de congé -> (date de fin de congé +1) à l'infini
* Si date du jour > date de fin de congé -> date du jour à l'infini
5 juil. 2006 à 15:46
Pour ceux que ça intéresse, j'ai fait comme ça :
* Si date du jour < date de debut de congé -> date du jour à date de debut de congé + date de fin de congé à l'infini
* Si date du jour <= date de fin de congé -> date de fin de congé à l'infini
* Si date du jour > date de fin de congé -> date du jour à l'infini
5 juil. 2006 à 09:27
Pour faire l'union des deux intervalles, utilise le caractère "^".
Avec ton exemple ça donne :
-inf&20060701^20060714&+inf
5 juil. 2006 à 09:16
c'est décrit dans la doc contenu dans le zip.
5 juil. 2006 à 09:08
Juste une question :
Comment faire pour désactiver une plage de date ?
<? $borne_calendrier = "$curannee$curmois$curjour"."&+inf"; ?>
cela permet de sélectionner une date depuis aujourd'hui jusqu'à l'infini.
Mais je voudrais que par exemple du 01/07/2006 au 14/07/2006, les dates ne puissent pas être sélectionné (pour les congés par exemple)
Merci d'avance.
24 mars 2006 à 11:59
Il serait encore plus genial s'il pouvait repondre à mon deuxieme besoin.
CAD: pouvoir selectionner/déselectionner des jours fériés (ou fermés).
faisant reference toujours à un input de type hidden, qui contiendrait tous les jours considérés comme fériès (avec option "considerer les we comme jours feries ou non").
sous une syntaxe par exemple: JJMMAAAA,JJMMAAAA,...
s'il est vide on considère que les jours fériés par défaut sont activés.
L'interface elle affichera le calendrier existant mais, avec deux couleurs differente, jour normal et jour férié (ou fermé). Et lorsque l'on clique sur un jour la couleur switche mais le calendreir ne se ferme pas (il faut cliquer sur la croix). L'input hidden est mis à jour en live.
voili, est-ce que cela t'inspire?
ps: j'aurai aussi besoin d'un selectionneur horaires d'ouvertures, pour pouvoir que par exemple une boutique est ouverte de 8h30 à 12h00 le lundi, de 8h à 9h puis de 10h à 10h15, etc le mercredi...
si connait un script qqle part qui fait cela je suis preneur!
merciiiiiiiii!
dada
25 févr. 2006 à 09:31
"Sniff sniff, ce script est parfait , sauf, sauf, kil ne fonctionne pas en xhtml, en effet je suis en html et utilise du css, kan j'utilise la soluce de alpharios sa pase plus du tt l'apparnce de mon site ne prend plus en compte mon fichier css!"
J'ai rencontré le même problème avec le contour des tableaux. La bordure s'affiche systématiquement en blanc quelquesoit la couleur choisie. J'ai néanmoins réussi à contourner le problème en intégrant la couleur de la bordure dans la balise de la manière suivante :
<table bordercolor="#0000FF" class="table">
22 févr. 2006 à 09:40
Quelle nouille, je n'avais même pas essayé un truc aussi basique.
Désolé pour le bruit, ça fonctionne parfaitement.
Encore merci et bravo !
Amicalement,
Pierre
22 févr. 2006 à 09:18
20 févr. 2006 à 15:35
Une petite question toutefois : comment passer une date à préselectionner, à la place de la date du jour ?
J'ai essayé de jouer avec AMonthSelected et ses camarades, mais sans succcés.
Quelqu'un aurait une idée par hasard ?
Merci d'avance
Pierre
18 févr. 2006 à 20:40
l'attribut 'disabled' peut être appliqué à un champ texte. Par exemple tu peux faire ceci :
J'espère que cela répond (un peu tard je sais) à ta question.
Sinon donne plus de détails et je me ferai un plaisir de répondre.
Enguerran
16 févr. 2006 à 10:46
merci beaucoup ça marche très bien !!
J'ai une question subsidaire, et après c'est fini !
Le calendrier permet de renseigner un input text : DatePrevDeb.
Je POSTE cette variable sur la page suivante.
Je souhaite que l'utilisateur voit la date qu'il a sélectionné une fois le calendrier refermé, mais qu'il ne puisse pas la modifier !
J'ai essayé de mettre le champ en "disabled", mais cela n'est pas compatible avec la méthode POST.
J'ai donc envisagé de mettre le champ DatePrevDeb en type hidden, et d'afficher par un autre moyen la date sélectionnée via le calendrier mais je ne sais pas comment faire ...
Merci d'avance.
Isabelle.
15 févr. 2006 à 17:17
Bravo Enguerrangilet, enfin un qui a compris comment ça marche et qui l'explique bien. J'aurai pas fais mieux
A+
15 févr. 2006 à 16:44
pour ta borne :
$borne=date("Ymd")."&+inf";
pour le onclick:
echo " ..... onclick='Calendar.MPopUpCalendar(this, document.frm1.val, "dd-mm-yyyy", "$borne",false,false)' .... ";
si tu veux le script complet fais moi signe
15 févr. 2006 à 16:41
<html>
<head>
<script type="text/javascript" src="IncClient/prototype_light.js"></script>
<script type="text/javascript" src="IncClient/dhtml_light.js"></script>
<script type="text/javascript" src="IncClient/dhtml_div_light.js"></script>
<script type="text/javascript" src="IncClient/window_dhtml_light.js"></script>
<script type="text/javascript" src="IncClient/Calendar.js"></script>
<script LANGUAGE="JavaScript">
var Calendar = new TCalendar("Calendar");
Calendar.MInitWeekDays(0,6);
</script>
</head>
<?php
$borne=date("Ymd")."&+inf";
?>
<form name='frm1'>
<?php echo "";?>
</form>
</html>
15 févr. 2006 à 15:40
Je suis toujours bloquée sur le même problème : je ne dois pas pouvoir sélectionner une date antérieur à la date du jour.
J'ai essayé de créer la variable a=year()+month()+day() à plusieurs endroits, mais rien à faire je n'y arrive pas.
Je suis débutante, pourriez vous me réexpliquer comment faire.
Merci d'avance.
Isabelle
14 févr. 2006 à 15:52
j'ai le même problème que SREGG, et je n'y ai trouvé de solutioactuellement.
je site SREGG :
"A chaque page où je créé le Calendar avec un new Calandar, le calendrier s'affiche tt seul au début du lancement de la page et disparait. ( Sous IE et FF )
Est-ce normal ? Comment remédier à ce problème ?
Merci de ta réponse."
En tout cas ca marche nick sinon, c'est pile ce que je cherchait ^^
6 févr. 2006 à 09:22
Je ne sais plus tres bien, ca fait longtemp, mais essaye ca:
3 févr. 2006 à 19:29
Trés bien pour le calendrier proposé, cependant est-il possible de parametrer ou modifier le code afin que la sortie soit du type dd/mm/yy?
Merci d'avance Stef-âne
31 janv. 2006 à 13:59
Je vais répondre à tous le monde:
Pour le problème du bug avec xhtml ou doctype (c'est le même problème: Le javascript généré ne fourni pas la norme xhtml est le fait d'utiliser la ligne <!DOCTYPE HTML PUBLIC "-//W3C//DTD ... fait que le controle de la norme demandé retourne une erreur.).
Une des solutions consiste à ne pas demander la validation du flux xml en enlevant la ligne, l'autre étant de revoir tout le code pour modifier les lignes de code générant le html pour le remettre aux normes xhtml.
Pour Isabelle72
Il faut que tu génére une chaine de caractère afin d'écrire la borne de limite de saisie dynamiquement. Du style :
a = year()+month()+day()+"&+inf";
Ensuite il faut inserer la balise suivante:
A+
31 janv. 2006 à 13:15
Tous mes remerciements pour cette source.
Ce calendrier est vraiment ce qu'il me fallait, mais j'ai un problème pour l'adapter à mon application.
J'ai besoin que l'utilisateur ne puisse pas sélectionner une date antérieur à la date du jour.
Comment puis je faire ?
Merci pour votre aide.
a bientot.
11 déc. 2005 à 18:59
Magnifique !
Merci !
29 nov. 2005 à 17:44
tous d'abort super le script un peu dur à mettre en place mes super,
enfin juste un detail j'arrive pas a débloquer toute les dates malgré le tutorial :/
esque quelqu'un peu maider
merci
31 août 2005 à 21:09
Tout d'abord très bonne source :)
Mais néanmoins, un problème subsiste et je ne sais comment y remédier ^^
Quand avant ma balise html figure :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
le script émet une erreur.
Quelqu'un aurait-il la solution svp?
Merci beaucoup
22 août 2005 à 10:00
16 août 2005 à 10:15
c'est pour ca que j'essaie de trouver dans les sources comment faire...
15 août 2005 à 01:13
Mathieu M-G
mathieumg@qc-net.com
9 août 2005 à 08:51
et certains champs date m'arrivent sous la forme : 00/00/0000
et la faut commencer de l'an 0 pour remonter jusquà notre ère...
il n'y aurait pas une ligne de code a modifier pour que je puisse initialiser le calendrier toujours a la date du jours?
merci d'avance!
(ps : j'ai cherché dans tes sources, mais n'ai rien trouvé...)
3 août 2005 à 12:41
merci
3 août 2005 à 12:40
je veu utiliser ce calendrier mai j ai rencontré ce problème
merci
2 août 2005 à 18:27
Super script que j'ai pu adapter à mes couleurs, mais j'ai le même problème qu'Albans (et la suggestion de MathieurMG ne fonctionne pas) : j'ai des listes deroulantes sous le calendrier qui s'affichent en premier plan, le rendant inaccessible. Pouvez-vous m'aider ?
Merci !
2 août 2005 à 10:29
ca marche, mais pas pour les images...
voili voilou!
2 août 2005 à 10:29
ca marche, mais pas pour les images...
voili voilou!
28 juil. 2005 à 04:52
1 juil. 2005 à 13:26
Bravo pour ce script très facilement utilisable
Ceci dit, j'ai un bug sniff. ( ou une incompatibilité ? )
Celui ci affecte uniquement les pages en xhtml transitional.
Je le retrouve également si je transforme en XHTML transitional le fichier exemple donné dans le fichier zip.
Voici Ce qui se passe :
Si je suis sous ie, j'ai la div de Calendar_lblToday et la div Calendar_caption qui s'affiche dès le chargement de la page. Le script ne fonctionne pas.
Et si je suis sous firefox, le script ne positionne pas au bon endroit la fenêtre de sélection des dates. Mais il marche :)
Pour résoudre ce problème j'ai trouvé comme solution d'enlever l'entête <!DOCTYPE .... de mes fichiers contenant le script.
Mais je me doute qu'il doit y avoir un autre moyen plus 'propre' pour éviter ce petit bug... je l'ai pas encore trouvé
Avez vous ce problème ?
une idée ?
24 juin 2005 à 18:26
Juste un détail : est-ce que j'ai le droit de l'utiliser pour mon site ?
9 juin 2005 à 10:03
Un grand bravo pour ce script de calendrier personnalisable à volonté.
Oui j'ai que ça à dire, mais la perfection ça se passe de commentaire ^_____^
6 juin 2005 à 11:10
Pour ne plus faire référence aux jours fermés, il suffit d'ecrire la ligne suivante:
Calendar.MInitWeekDays();
Cette méthode accepte entre 0 et 7 arguments qui sont les jours de la semaine en chiffre (0 = dimanche). Cette méthode initialise les jours de la semaine qui doivent être considérés comme fermés. Ainsi le style défini pour les jours fermés ne sera pas appliqué.
Ensuite, pour rendre les jours fériés et fermés sélectionnable, il suffit d'appeler l'affichage du calendrier comme suit:
Calendar.MPopUpCalendar(this, document.formulaire.champ, 'dd-mm-yyyy',null,false,false);
Cordialement
TG
28 mai 2005 à 21:43
j'aimerai qu'on me précise si dans le code du calendrier en lui même (en jouant sur une variable égale à o ou 1 comme expliqué dans le doc texte joint au codesource) ou si dans les arguments a passer lors de l'appel de fonction, il était possible de rendre sélectionnable les weeks end (samedi et dimanche pour être bien clair)???
Le but étant d'utiliser ce calendrier dans un formulaire où l'utilisateur devra pourvoir sélectionner tous les jours d'une année civil.
Merci
coordialement, Chimon
28 mai 2005 à 08:45
27 mai 2005 à 11:58
J'aimerai adapter ton calendrier en rendant sélectionnable toutes les dates (oublie les weeks et jours fériés le net c 7jours/7 )!!!
Je suppose que ceci est possible vu toute les options que tu as mis a disposition de l'utilisateur averti mais je trouve pas étant un bon gros noob !!! merci
coordialement
Chimon au plus chiadé des calendrier !!!
16 mai 2005 à 17:28
A chaque page où je créé le Calendar avec un new Calandar, le calendrier s'affiche tt seul au début du lancement de la page et disparait. ( Sous IE et FF )
Est-ce normal ? Comment remédier à ce problème ?
Merci de ta réponse.
A part ca c'est un calendrier tres tres bien fait ^^.
11 mai 2005 à 11:33
Après avoir cherché longtemps, je suis tombé sur une explication toute simple. C'est un bug de IE, qui à été rencontré dans d'autres sources sur ce site. Je vous suggere donc de placer le calendrier à une place fixe ou vous êtes sur de ne pas avoir de liste déroulante.
Cordialement
TG
28 avril 2005 à 12:18
28 avril 2005 à 08:38
Pour avoir la date de paque il existe une méthode que l'on peut appeler. Il n'y a d'ailleur pas besion de faire afficher le calendrier. Il suffit de saisir la ligne suivante:
Calendar.MGetPaques(aaaa) aaaa étant l'année.
Pour savoir si une date est férier il existe :
Calendar.MJourFerie(date)
Cordialement
TG
27 avril 2005 à 18:44
Par contre je viens de voir que la version que j'ai téléchargé ne contient pas la methode : TMAddHoliday
27 avril 2005 à 08:41
Pour le bug je vais voir cela de plus près. Il n'y a pas vraiment de bug a proprement parlé mais une chronologie des instructions à revoir. Je vais réagencer tout cela. De même si un jour férier est aussi un jour fermé alors il prend le comportement d'un jour fermé.
En ce qui concerne la question , on peut modifier à la volée les parametre mais il faut appelé la méthode MConstructCalendar afin de rafraichir le calendrier.
Cordialement
TG
27 avril 2005 à 01:40
mais quelques petites remarques :
- [Bug ?]: Si aujourd'hui fait partie des MInitWeekDays; il peut-etre selectionné quand même.
- [Question]: On ne peut pas modifier les attributs (AShowToday , AShowComment, ...) à la volée ?
ex:
var Calendar = new TCalendar("Calendar");
Calendar.AShowToday =0;
2 mars 2005 à 16:23
Mathieu M-Gosselin
mathieumg@qc-net.com
2 mars 2005 à 16:20
J'ai un souci sous IE, par contre ça marche parfaitement bien avec les autres navigateurs. Voici le problème : les listes déroulantes apparaissent en avant-plan sur la page, si bien que le calendrier est "troué" lorsqu'on l'appelle puisque la liste déroulante est toujours visible, j'ai essayé d'utiliser le type z-index pour gérer les profondeurs mais cela ne marche pas non plus. Auriez-vous la solution à ce problème ... Testez vous même, c'est très étrange !!!! Merci d'avance
Albans
23 févr. 2005 à 11:56
23 févr. 2005 à 11:49
Ca y est, j'ai trouvé.
Avis aux codeurs .Net :
remplacez (ou virez c'est au choix) tous les caractères accentués dans les fichiers js. Car le gentil Monsieur .Net s'amuse à tous les remplacer par des caractères bidons, et au passage, il supprime la fin des mots. Du coup, dans le cas du mot "Août", il traduit par "Ao? sans fermer les guillemets...
Mais attention, ça ne le fait que pour des fichiers externes. Vous avez par contre le droit de mettre des accents entre 2 balises script d'une page aspx. Logique, quand tu nous tiens...
Bon, tous en coeur, on dit : Merci Bill pour nous pondre des outils sensés aider le développeur...
Donc, TG, ton code est super, et ne souffre d'aucun bug ^o^
@peluche et bon dev'
DA
23 févr. 2005 à 09:41
Merci pour le tuyau.
Bon, ça marche sans erreurs sur FireFox1.0
Là, j'en perds mon asp ^o^
Donc, il semble que .Net (pas IE, puisque ça marche dans une page html) pourrisse quelque peu le code JS.
De là à penser qu'il y a des caractères bidons qui sont rajoutés... Y'a qu'un pas
Bon, si t'as une idée je suis preneur. Je vais chercher de mon côté.
Bonne journée
DA
23 févr. 2005 à 09:23
J'imagine que c'est avec internet explorer que tu test ton application. Si tu veux utilise Mozilla FireFox, il fourni une console javascript qui donne des informations plus complete sur les erreurs javascript. Comme le nom du fichier ou il a trouvé l'erreur. Ceci serai interressant pour pouvoir comprendre pourquoi il ne veux pas marcher. Si tu me donne les noms des fichiers je regarderai le problème.
A+
TG
22 févr. 2005 à 18:02
J'ai un pbm lors de l'intégration sous ASP.Net
C'est vraiment space :
si j'utilise les balises script avec src, j'ai 2 erreurs javascript (") attendue" ligne 78 car 35, et "constante chaîne non terminée" ligne 742, car 51)
Après plusieurs essais infructueux, j'ai utilisé le tag link. Là, plus d'erreurs visibles. Par contre, new TCalendar("Calendar") renvoie une erreur ("TCalendar indéfini")
Bon, je me doute que le tag link marche pas.
Par contre, je m'explique pas pourquoi un pauvre copier coller du html d'exemple dans une page aspx cause tant de problèmes.
Vous n'auriez pas une idée par hasard ?
Merci
DA
22 févr. 2005 à 09:49
Merci pour les commentaires.
A+
21 févr. 2005 à 10:12
10/10
DA
20 févr. 2005 à 04:49
Mathieu M-G
mathieumg@qc-net.com
19 févr. 2005 à 11:24
As-tu une version plus light ?
19 févr. 2005 à 11:04
juste un point qui pose pb, c'est le poids des .js. environ 100ko ça fait beaucoup.
mais sinon chapeau !
18 févr. 2005 à 19:13
---------------------------------------
http://fg.logiciel.free.fr
18 févr. 2005 à 15:46