Pb Calendrier Javascript

Lola -  
 le père -
Bonjour,
J'ai un problème avec un calendrier javascript. Il marche bien mais je viens de m'apercevoir que les mois de septembre et novembre sont faussés: il affiche le 1er septembre un jeudi alors que c'est demain...

Je suis novice en javascript, et c'est un script que j'ai récupérer sur un site.

Voilà le code: http://pastebin.com/m1bd211f6

Merci de m'aider je galère...

:) Lola
Configuration: Windows XP
Firefox 3.0.13

1 réponse

  1. le père
     
    Bonjour

    Pas facile à trouver, ce bug là...
    Il se produit justement en fin de mois (pas tous, je n'entre pas dans les détails...)
    il faut déplacer une ligne dans ds_draw_calendar(m, y) :

    // Make a date object.
    	var ds_dc_date = new Date();
    	ds_dc_date.setDate(1);
    	ds_dc_date.setMonth(m - 1);
    	ds_dc_date.setFullYear(y);


    L'idée, c'est que quand on fait le new Date() il prend la date du jour.
    Quand on fait le SetMonth (m-1) après, on change le mois. Mais si on est le 31 et que le mois m-1 n'a que 30 jours, (par exemple septembre) on passe au "31 septembre" qui devient 1er octobre. C'est donc le mois d'octobre qui est affiché (sauf sans le titre qui a été affiché avant).
    Il suffit donc de faire le setDate(1) qui force le 1er du mois, avant le setMonth
    1