Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Calendrier developpez V2 ( plus mieux mieux )


Sujet :

Contribuez

  1. #61
    Rédacteur/Modérateur

    Avant de mettre en ligne ...
    J'ai pas compris comment modifier l'année ou le mois dans la liste ..; elle se barre avant que je puisse cliquer dessus ...

    Sous IE les flèches de direction (haut bas ) de ces listes sont tronquées ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  2. #62
    Expert confirmé
    ce sont justement les bugs que je vais corriger sur la V3
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #63
    Membre averti
    (Ahah, c'est ton 3333ème message... et tu parles de la v3 ! )

  4. #64
    Nouveau Candidat au Club
    Bonjour,
    Calendrier très sympa que je vais utiliser.
    j'ai juste un petit problème je voudrais enregistrer la date dans une base de donnée en format DATE mais le format de la date est : AAAA-MM-DD et le format de ton calendrier est DD/MM/AAAA.
    Est-il possible de le modifier ? si oui comment.
    Encore merci pour ce calendrier magnifique.

    jeremiem

  5. #65
    Rédacteur/Modérateur

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    var madate="DD/MM/AAAA"
    madate=madate.split('/').reverse().join('-')
    alert(madate)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  6. #66
    Nouveau Candidat au Club
    Et sinon, personne n'est tenté d'expliquer aux gros noobs comment utiliser ce calendrier ? ...

    ça fait une plombe que je me demande ce que je dois faire avec mon pauvre fichier .html, j'aurai tant aimé un .js

  7. #67
    Futur Membre du Club
    Bonjour,
    Tout d'abord merci pour cette source plus qu'utile.

    Ensuite j'aurais une question le calendrier rempli l'input du formulaire avec une date au format jj/mm/aaaa et je voudrais la mettre au format aaaa/mm/jj.

    Mes connaissances en développement sont assez limité je bidouille un peu en php mais un javascript je suis largué et j'ai beau chercher dans votre la/les lignes à modifier pour parvenir mais je ne parviens pas à repéré ou cela se trouve...

    Est-ce que vous pourriez me dire ou je peux trouver mon bonheur, voir si vous l'avez me donner directement la solution à mon problem mais je n'en demande pas temps ;-)

    Merci d'avance pour votre réponse.

  8. #68
    Expert confirmé
    Bonjour Claudeine et jaganshi , je vous invite a vous tourner vers la dernière version :

    http://www.developpez.net/forums/d82...drier-v3-beta/

    tout y est expliqué en détail, utilisation et format de date
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  9. #69
    Membre du Club
    Problème dans Firefox 3.6.18
    Je débarque un peu tard mais voici mes commentaires sur ton appli :
    - l'ergonomie est vraiment soignée, félicitations !!
    - le positionnement du calendrier se fait à merveille sauf dans Firefox 3.6.18 : le calendrier s'affiche au bar de l'écran. Une solution ?
    Encore bravo pour ton appli.

  10. #70
    Membre régulier
    Bonjour,

    je sais que ce poste est très vieux, et je félicite le créateur c'est génial.

    Néanmoins j'aurai voulus modifier un tout petit peu le code j'aurai aimer savoir si c'étais possible car je suis très limité en JS.

    Voila j'aurai souhaité que les jour et les mois compris entre 1 et 10 prenne la valeur de 01, 02 03 etc... malheureusement je suis un peu perdu dans ce code.


    je vous remercie par avance
    Je vous remercie d'avance pour vos lumières.

  11. #71
    Membre régulier
    Finalement j'ai modifié ceci et cela fonctionne sur la V2

    on a donc un format français 02/03/2012 au lieu de 2/3/2012.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    calendar.prototype.fillField = function(){
    		var myDay = "";
    		var myMonth = "";
     
    		if(this.dayCurrent <= 9)
    		{	myDay = 0+this.dayCurrent; }
    		else
    		{ myDay = this.dayCurrent;	}
     
    		if(((this.monthCurrent+1 == 13) ? 1:this.monthCurrent+1) <= 9)
    		{	myMonth = String('0')+((this.monthCurrent+1 == 13) ? 1:this.monthCurrent+1); }
    		else
    		{ myMonth = ((this.monthCurrent+1 == 13) ? 1:this.monthCurrent+1);	}
     
    		this.element.value = myDay+"/"+ myMonth +"/"+this.yearCurrent;
     
    		//On détruit le calendrier;
    		this.purge(this.calendar);
    		document.body.removeChild(this.calendar);
    		this.element.calendarActive = false;
    	}



    voila
    Je vous remercie d'avance pour vos lumières.

  12. #72
    Nouveau Candidat au Club
    Bonjour,
    J’ai trouvé votre calendrier v2 sympa et je l’ai intégré dans un formulaire d’inscription en PHP pour indiquer la date de l’événement; mais voilà, je ne sais pas comment faire pour envoyer les données dans la base msql (je débute le msql)

    Cdt

  13. #73
    Rédacteur



    Le calendrier se contente de remplir un champ de formulaire... A toi ensuite de récupérer le contenu de ce champ en PHP et de l'insérer dans ta base.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  14. #74
    Membre éprouvé
    bon, j'ai trouvé 2 bugs sur le moteurs créa des dates, du coup, je suis parti sur la même idée que toi, mais en faisant comme ceci

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
           var dateUtils = {
                isDate: function (y, m, d) {
     
                    var testDate = new Date(y, m-1, d); 
                    if ((testDate.getFullYear() !== y) || (testDate.getMonth() !== (m - 1)) || (testDate.getDate() !== d)) {
                        return false;
                    }
     
                    return true;
     
                },
     
                isBisextile: function (y) { 
                    return (((y % 4) === 0) && ((y % 100 !== 0) || (y % 400 === 0)));
     
                },
     
                create: function (date, separator, format) {
     
                    var mCalendar, reg, dateExplode;
     
                    mCalendar = {
                        separateur: separator || '-',
                        formatDate: format || 'FR',
                        y: null,
                        m: null,
                        d: null
                    };
     
                    reg = new RegExp(mCalendar.separateur, "g");
                    dateExplode = date.split(reg);
                    mCalendar.y = parseInt(dateExplode[2], 10);
                    mCalendar.d = (mCalendar.formatDate === "FR") ? parseInt(dateExplode[0], 10) : parseInt(dateExplode[1], 10);
                    mCalendar.m = (mCalendar.formatDate === "FR") ? parseInt(dateExplode[1], 10) : parseInt(dateExplode[0], 10);
     
                    return this.isDate(mCalendar.y, mCalendar.m, mCalendar.d) ? mCalendar : null;
                },
                get: function (date) {
     
                    var mCalendar, febDayLength, year, MonthFirstDayNumber, MonthLastDayNumber, c, calandarDays, n, line, addZero, detail, h, a, b, r, addline;
     
                    mCalendar = this.create(date);
                    if (null === mCalendar) {
                        return;
                    }
     
                    febDayLength = this.isBisextile(mCalendar.y) ? 29 : 28;
                    year = [31, febDayLength, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
                    mCalendar.m = mCalendar.m - 1;
                    MonthFirstDayNumber = new Date(mCalendar.y, mCalendar.m, 1);
                    MonthLastDayNumber = new Date(mCalendar.y, (mCalendar.m), year[mCalendar.m]);
     
                    c = {
                        prev: {
                            m: mCalendar.m - 1 === -1 ? 11 : mCalendar.m - 1,
                            y: mCalendar.m - 1 === -1 ? mCalendar.y - 1 : mCalendar.y,
                            mdl: year[mCalendar.m - 1 === -1 ? 11 : mCalendar.m - 1],
                            mdn: MonthFirstDayNumber.getDay() === 0 ? 6 : MonthFirstDayNumber.getDay() - 1
                        },
                        curent: {
                            m: mCalendar.m,
                            y: mCalendar.y,
                            mdl: year[mCalendar.m],
                            mdn: MonthFirstDayNumber.getDay()
                        },
                        next: {
                            m: mCalendar.m + 1 === 12 ? 0 : mCalendar.m + 1,
                            y: mCalendar.m + 1 === 12 ? mCalendar.y + 1 : mCalendar.y,
                            mdl: year[mCalendar.m + 1 === 12 ? 0 : mCalendar.m + 1],
                            mdn: MonthLastDayNumber.getDay() === 0 ? 7 : MonthLastDayNumber.getDay()
                        }
                    };
                    if (MonthFirstDayNumber.getDay() === 1) {
                        c.prev.mdn = 7;
                    }
                    calandarDays = [];
                    n = 0;
                    line = 1;
                    addline = false;
                    addZero = function (s) {
                        return String(s).length === 1 ? '0' + s : s;
                    };
                    detail = function (i, type) {
                        var iday, iMonth, iYear, sep, d, id, _css;
                        n++;
     
                        if(addline){
                            line++;
                            addline = false;
                        }
                        if (n / 7 % 1 === 0) {
                           addline  = true;
                        }
     
                        iday = addZero(i);
                        iMonth = addZero(c[type].m + 1);
                        iYear = String(c[type].y);
                        sep = mCalendar.separateur;
                        d = iday + sep + iMonth + sep + iYear;
                        id = iYear + iMonth + iday;
                        _css = type;
                        if (type === 'curent' && i === mCalendar.d) {
                            _css = 'curent.now';
                        }
     
                        return {
                            d: i,
                            css: _css,
                            l: line,
                            m: c[type].m + 1,
                            y: c[type].y,
                            date: d,
                            id: id
                        };
     
                    };
     
                    for (h = 1, a = c.prev.mdl - c.prev.mdn + 1, b = 1, r = 1; h < 43; h++) {
                        if (h < c.prev.mdn + 1) {
                            calandarDays.push(detail(a, 'prev'));
                            a++;
                        } else if (h < c.prev.mdn + 1 + c.curent.mdl) {
                            calandarDays.push(detail(b, 'curent'));
                            b++;
                        } else {
                            calandarDays.push(detail(r, 'next'));
                            r++;
                        }
                    }
     
     
                    return calandarDays;
                }
            };


    Conception / Dev

  15. #75
    Candidat au Club
    Bonjour,
    Je me permet de réveiller la discussion x)

    Tout marche chez moi et je vous remercier d’ailleurs pour ce merveilleux code,
    Ce que je cherche maintenant c'est de limiter les dates, c'est à dire qu'on ne peut pas sélectionner une ancienne date sauf à partir d'ajourd'hui une d'une année précise si c'est trop demandé.

    Merci beaucoup

###raw>template_hook.ano_emploi###