Calendrier Javascript gratuit

jsSimpleDatePickr est un sélecteur de date Javascript gratuit

  • Simple et rapide
  • Peut afficher plusieurs mois
  • Capable de fonctionner sans librairie externe
  • Interprête tous types de format de date
  • Capable d'ajouter ou de soustraire des mois ou des années
  • Stylisé entièrement en CSS
  • Léger (10 316 octets non compressé, 6 746 compressé)
  • Un objet Javascript (pas de variables ou de fonctions qui traînent)
  • Testé sur Safari (5.1), Firefox (25.0), Internet Explorer (7, 8), Chrome (31)

Vous pouvez télécharger jsSimpleDatePickr seul et l'utiliser tel quel ou utiliser le configurateur.

Plus d'informations sur le blog.

Historique

24/11/2017

Correction d'une anomalie. Si vous utilisiez une fonction de callback, le calendrier renvoyait une date au format JJ/MM/AAAA, quelque que soit le paramètre dateMask. Dorénavant, il passe la date comme défini dans le mask.

calObj = new jsSimpleDatePickr();
calId = calObj.CalAdd({
	'divId': "calendarMain",
	'dateMask': 'AAAA-MM-JJ',
	'callBack': 'CalendarClic',
});
function CalendarClic(aDate){
	console.log(aDate); // AAAA-MM-JJ
}

12/01/2017

Correction d'un bug. Si hideOnClick était faux le calendrier n'était pas redessiné après un clic sur une date.

3/12/2016

Ajout des deux nouveaux paramètres :

  • dateMask : définit le mask d'affichage de la date.
  • dateCentury : définit le siècle d'affichage. Utile uniquement si vous utilisez des années à 2 chiffres.

dateMask est un texte dans lequel la fonction va chercher et JJ par le jour, MM par le mois et AA ou AAAA par l'année. Vous pouvez utiliser des mask de tous types :

  • JJ/MM/AAAA : par défaut
  • MM/JJ/AAAA : format US.
  • AAAA-MM-JJ : format SQL.

dateCentury est un chiffre qui sera ajouté à l'année si vous utilisez des dates dont l'année est au format AA.

25/11/2016

Revue complète du code avant mise en ligne.
Correction de petit bug.

21/07/2016 : Version 2

- Fusion des fichiers javascript avec jsSimpleDatePickrInit.js et jsSimpleDatePickr.js. Avantage : Un constructeur, plus de variables qui traînent et qui risqueraient d'entrer en conflit avec d'autres variables globales.
- Passage au DOM pour la construction des éléments du calendrier.
- Les données d'initialisation sont passées dans un objet plutôt qu'une suite de variable :

calObj = new jsSimpleDatePickr();
calId = calObj.CalAdd({
	'divId': "calendarMain",
	'buttonTitle': 'Afficher / Masquer le calendrier',
	'callBack': 'MyFunction',
	'monthLst': {'01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'},
	'dayLst': {'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'},
});
  • divId : identifiant du bloc <div> qui va contenir le(s) calendrier(s).
  • buttonTitle : nom qui sera affiché sur le bouton pour afficher / masquer la calendrier (facultatif) (btName).
  • inputFieldId : identifiant du champ dans lequel sera affiché la date (facultatif) (fieldId).
  • callBack : fonction appellée après un clic sur une date (facultatif) (funcName).
  • displayNumber : nombre de calendrier affiché.
  • titleMask : masque d'affichage pour le titre.
  • navType : type de navigation (00 - 01 - 11).
  • classTable : class des <table>.
  • classDay : class des <td>.
  • classDaySelected : class du <td> qui contient la date sélectionnée.
  • monthLst : nom des mois à l'affichage.
  • dayLst : nom des jours à l'affichage (en commençant par le dimanche).
  • hideOnClick : boolean qui indique si le calendrier est masqué après un clic sur une date. (constDisplay).
  • showOnLaunch : boolean qui indique si le calendrier est affiché à l'initialisation.

28/01/2015

La fonction calInit masque le bloc div ajoutée dans la page.
Le contenu du champ fieldId est directement interpêté dans la fonction callInit().

25/01/2015

Ajout de la variable constDisplay à la fonction d'initialisation calInit. Cette variable permet de laisser la calendrier constamment affiché. Merci à Marc Paris.

31/10/2014

Correction d'un bug lors de la naviguation d'un mois à l'autre si la date en cours est le 31 du mois.

24/06/14

Suppresion de la variable jsSDPMonthName. chaque objet a ses propres nom de mois.
Fonction calInit : ajout de la variable monthLst.
Fonction calInit : ajout de la variable dayLst.

23/06/14

Fonction calInit, suppression de la classe .calendarWrap sur le bloc div qui contient des boutons de navigation, le titre, etc.
Fonction calInit, le nom du div qui contient le calendrier est sauvegardé dans le tableau me.jsSDPObj.

22/06/14

Fonction calInit, le champ fieldId devient facultatif.
Ajout des fonctions calShow() et calHide().

Afficher tout l'historique

Téléchargement v2.11

Télécharger Non compressé

Télécharger Compressé

Combien ça coûte ?

Ce code est gratuit pour vos projets personnels ou commerciaux.

N'oubliez pas l'attribution des crédits ;-)

Une question ?

Vous pouvez me contacter par email ou laisser un mot sur mon blog.


Configurez votre calendrier

Pour vous aider à intégrer le calendrier sur votre site, j'ai conçu des fonctions de communications ainsi que ce configurateur.

Paramétrez le calendrier à votre guise, puis cliquez sur l'onglet "Intégrez le calendrier dans votre site" pour voir le code html à ajouter à votre site ainsi que les fichiers à télécharger.

Vous devrez télécharger un fichier CSS pour le thème et un fichier Javascript contenant jsSimpleDatePickr ainsi qu'une liste de fonctions d'initialisations.

N'oubliez pas les raccourcis claviers affichés en bas de page pour naviguer plus rapidement.

#1 / Paramétrez le calendrier

Configuration

Bouton pour afficher / masquer

Vous pouvez lier le calendrier à un bouton pour l'afficher ou le masquer

Le bouton est crée automatiquement.

Champ de formulaire

Vous pouvez lier le calendrier à un champ de formulaire.

Lorsque l'utilisateur cliquera sur une date, le calendrier sera masqué et le champ du formulaire sera modifié avec la date choisie.

Appel de fonction

Vous pouvez définir le nom d'une fonction qui sera appellée lorsque l'utilisateur clique sur une date.

La fonction doit être dans l'objet globale window.

Affichage de la date

Configurez le masque d'affichage de la date

  • JJ pour le jour
  • MM pour le mois
  • AAAA pour l'année à 4 chiffres
  • AA pour l'année à 2 chiffres

Si vous affichez la date avec deux chiffres, vous pouvez spécifier le siècle par défaut.

Configurez le masque d'affichage du titre

  • M pour le mois
  • AAAA pour l'année à 4 chiffres
  • AA pour l'année à 2 chiffres

Attention : si vous désactivez la naviguation par mois et par année, le titre ne sera pas affiché.

Navigation

Si vous n'autorisez pas la navigation, le mois et l'année ne seront pas affiché sur le calendrier.

Affichage

Si la case est coché, le calendrier sera pas masqué lorsque l'utilisateur clique sur une date.

Si la case est coché, le calendrier sera pas affiché dès l'appel à CalAdd();

Affichage des mois

Définissez le nom de chaque mois de l'année

Raccourcis

Quelques raccourcis pour définir les noms des mois en français, anglais ou avec des chiffres.

Affichage des jours

Définissez le nom de chaque jour de la semaine

Thème

Choisissez le thème d'affichage du calendrier

Résultat


Comment intégrer le calendrier ? Téléchargez les fichiers Javascript CSS. Puis copiez-collez le code HTML ci-dessous. N'oubliez pas de lier les fichiers téléchargés à votre document HTML :

  • <link rel="stylesheet" type="text/css" href="" />
  • <script type="text/javascript" src="jsSimpleDatePickr.2.1.js"></script>

#2 / Intégrez le calendrier dans votre site

Javascript

Téléchargez le code jsSimpleDatePickr.2.1.js

CSS

Téléchargez le thème

HTML

Copiez-collez ce code dans votre document HTML