3 /!\ Cette saisie nécessite du javascript pour fonctionner.
4 En absence de JS, seul un champ de saisie texte est affiché.
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.
10 - label_(jour|mois|annee)
11 - size_(jour|mois|annee)
12 - maxlength_(jour|mois|annee)
14 [(#SAISIE{date_jour_mois_annee, date_naissance,
15 label=Date de naissance
18 #SET{valeur,#ENV{valeur,#ENV{defaut}}}
19 [(#SET{id,[(#ENV**|md5|substr{
0,
6})]})]
20 <input type='text'
name=
"#ENV{nom}" id=
"#GET{id}" [
value=
"(#GET{valeur})"] class='datetime'
/>
23 <script type='text/javascript'
>
24 function activer_dateur_#GET{id}() {
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);" />\
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);" />\
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);" />\
46 jQuery('##GET{id}')[
0].type = 'hidden';
47 jQuery('##GET{id}').after(jour + mois + annee);
50 function changer_la_date(me) {
51 li = $(me).parent().parent();
52 jour = li.find('.date_jour').attr('value').trim();
53 mois = li.find('.date_mois').attr('value').trim();
54 annee = li.find('.date_annee').attr('value').trim();
55 date = li.find('.datetime').attr('value').trim();
56 while(jour.length <
2) {jour = '
0' + jour;}
57 while(mois.length <
2) {mois = '
0' + mois;}
58 while(annee.length <
4) {annee = '
0' + annee;}
59 date = annee + '-' + mois + '-' + jour + date.substring(
10);
60 li.find('.datetime').attr('value',date);
63 jQuery(document).ready(function(){
64 activer_dateur_#GET{id}();