[PLUGINS] +clavettes et dependances
[lhc/web/clavette_www.git] / www / plugins / saisies / saisies / date_jour_mois_annee.html
1 [(#REM)
2
3 /!\ Cette saisie nécessite du javascript pour fonctionner.
4 En absence de JS, seul un champ de saisie texte est affiché.
5
6 Cette saisie cree 3 champs a partir d'une date au format datetime mysql.
7 A chaque modification, un champ cache est modifie, contenant la date au format datetime.
8
9 Options :
10 - label_(jour|mois|annee)
11 - size_(jour|mois|annee)
12 - maxlength_(jour|mois|annee)
13 - datetime, par défaut oui. Si pas oui, utilisera une date au format aaaa-mm-jj au lieu d'un datetime mysql
14
15 [(#SAISIE{date_jour_mois_annee, date_naissance,
16 label=Date de naissance
17 })]
18 ]
19 #SET{valeur,#ENV{valeur,#ENV{defaut}}}
20 [(#SET{id,[(#ENV**|md5|substr{0,6})]})]
21 <input type='text' name="#ENV{nom}" id="#GET{id}" value="[(#GET{valeur}|sinon{0000-00-00[(#ENV{datetime,oui}|=={oui}|oui)00:00:00]})]" class='datetime' />
22
23 <script type='text/javascript'>
24 function activer_dateur_#GET{id}() {
25 jour = '\
26 <div class="choix">\
27 [<label for="champ_#ENV{nom}_jour">(#ENV{label_jour,<:saisies:label_jour:>})</label>]\
28 <input type="text" name="#ENV{nom}_jour" class="text date_jour[ (#ENV{class})]" id="champ_#ENV{nom}_jour"[ value="(#GET{valeur}|journum)"][ size="(#ENV{size_jour, 2})"][ maxlength="(#ENV{maxlength_jour, 2})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][(#ENV{obligatoire}|et{#HTML5}|oui) required="required"] onChange="changer_la_date(this);" />\
29 </div>\
30 ';
31
32 mois = '\
33 <div class="choix">\
34 [<label for="champ_#ENV{nom}_mois">(#ENV{label_mois,<:saisies:label_mois:>})</label>]\
35 <input type="text" name="#ENV{nom}_mois" class="text date_mois[ (#ENV{class})]" id="champ_#ENV{nom}_mois"[ value="(#GET{valeur}|mois)"][ size="(#ENV{size_mois, 2})"][ maxlength="(#ENV{maxlength_mois, 2})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][(#ENV{obligatoire}|et{#HTML5}|oui) required="required"] onChange="changer_la_date(this);" />\
36 </div>\
37 ';
38
39 annee = '\
40 <div class="choix">\
41 [<label for="champ_#ENV{nom}_annee">(#ENV{label_annee,<:saisies:label_annee:>})</label>]\
42 <input type="text" name="#ENV{nom}_annee" class="text date_annee[ (#ENV{class})]" id="champ_#ENV{nom}_annee"[ value="(#GET{valeur}|annee)"][ size="(#ENV{size_annee, 4})"][ maxlength="(#ENV{maxlength_annee, 4})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][(#ENV{obligatoire}|et{#HTML5}|oui) required="required"] onChange="changer_la_date(this);" />\
43 </div>\
44 ';
45
46 if(!$.browser.msie || parseInt($.browser.version) >= 9)
47 jQuery('##GET{id}')[0].type = 'hidden';
48 else
49 jQuery('##GET{id}').css({'height':'0px','width':'0px','border':'none'});
50 jQuery('##GET{id}').after(jour + mois + annee);
51 }
52
53 function changer_la_date(me) {
54 var li = jQuery(me).parents('li'),
55 jour = jQuery.trim(li.find('.date_jour').val()),
56 mois = jQuery.trim(li.find('.date_mois').val()),
57 annee = jQuery.trim(li.find('.date_annee').val()),
58 date = jQuery.trim(li.find('.datetime').val());
59 while(jour.length < 2) {jour = '0' + jour;}
60 while(mois.length < 2) {mois = '0' + mois;}
61 while(annee.length < 4) {annee = '0' + annee;}
62 [(#ENV{datetime,oui}|=={oui}|oui)
63 date = annee + '-' + mois + '-' + jour + date.substring(10);]
64 [(#ENV{datetime,oui}|=={oui}|non)
65 date = annee + '-' + mois + '-' + jour;]
66 li.find('.datetime').attr('value',date);
67 }
68
69 jQuery(document).ready(function(){
70 activer_dateur_#GET{id}();
71 });
72 </script>