Changeset 94976 in spip-zone


Ignore:
Timestamp:
Feb 5, 2016, 3:58:44 PM (5 years ago)
Author:
rastapopoulos@…
Message:

On départe la fonction de changement de date de jour_mois_annee dans le JS commun… Aucune raison de dupliquer ça pour chaque champ. Et on ajoute un petit truc pratique : ça passe au champ suivant tout seul quand on finit de remplir jour et mois !

Location:
_plugins_/saisies/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/javascript/saisies.js

    r91024 r94976  
    3030                });
    3131};
     32
     33function saisies_date_jour_mois_annee_changer_date(me, datetime) {
     34        var champ = jQuery(me);
     35        var li = champ.closest('.editer');
     36        var     jour = jQuery.trim(li.find('.date_jour').val());
     37        var     mois = jQuery.trim(li.find('.date_mois').val());
     38        var     annee = jQuery.trim(li.find('.date_annee').val());
     39        var     date = jQuery.trim(li.find('.datetime').val());
     40       
     41        while(jour.length < 2) {jour = '0' + jour;}
     42        while(mois.length < 2) {mois = '0' + mois;}
     43        while(annee.length < 4) {annee = '0' + annee;}
     44       
     45        if (datetime == 'oui') {
     46                date = annee + '-' + mois + '-' + jour + date.substring(10);
     47        }
     48        else {
     49                date = annee + '-' + mois + '-' + jour;
     50        }
     51        li.find('.datetime').attr('value', date);
     52}
  • _plugins_/saisies/trunk/paquet.xml

    r94798 r94976  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="2.5.26"
     4        version="2.5.27"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
  • _plugins_/saisies/trunk/saisies/date_jour_mois_annee.html

    r94798 r94976  
    2626                <div class="choix">\
    2727                        [<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_#GET{id}(this);" />\
     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="saisies_date_jour_mois_annee_changer_date(this, \'#ENV{datetime,oui}\');" onkeyup="if (this.value.length == 2 && jQuery.inArray(event.keyCode, [9,16]) == -1) {jQuery(this).parent().next().find(\'input\').focus();}" />\
    2929                </div>\
    3030        ';
     
    3333                <div class="choix">\
    3434                        [<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_#GET{id}(this);" />\
     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="saisies_date_jour_mois_annee_changer_date(this, \'#ENV{datetime,oui}\');" onkeyup="if (this.value.length == 2 && jQuery.inArray(event.keyCode, [9,16]) == -1) {jQuery(this).parent().next().find(\'input\').focus();}" />\
    3636                </div>\
    3737        ';
     
    4040                <div class="choix">\
    4141                        [<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_#GET{id}(this);" />\
     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="saisies_date_jour_mois_annee_changer_date(this, \'#ENV{datetime,oui}\');" />\
    4343                </div>\
    4444        ';
     
    5151}
    5252
    53 function changer_la_date_#GET{id}(me) {
    54         var li = jQuery(me).closest('.editer'),
    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 
    6953jQuery(document).ready(function(){
    7054        activer_dateur_#GET{id}();
Note: See TracChangeset for help on using the changeset viewer.