]>
git.immae.eu Git - perso/Denise/oms.git/blob - static/outilspage.js
86a1233c83d77c382b9041405f9d9435a624c22e
1 // fonctions générales pour la page
3 var taillemaxdate
= 10 ;
4 var placeholder_date
= "aaaa-mm-jj" ;
7 function ajoutelignes ()
9 // va ajouter 3 lignes au tableau de données
10 var table
= document
. getElementById ( "donneespoids" )
11 var nbligne
= table
. children
[ 0 ]. childElementCount
;
12 // les données étant numérotées à partir de 0 on pourra commencer à partir de nbligne -1
13 // car il faut éliminer la ligne de header.
15 // voir dans quel mode on est : date ou texte
16 var deuxiemeligne
= table
. children
[ 0 ]. children
[ 1 ] ;
17 var celldate
= deuxiemeligne
. children
[ 1 ] ;
18 var mode
= celldate
. firstChild
. type
;
21 for ( var i
= nbligne
- 1 ; i
< nbligne
+ nbajout
- 1 ; i
++)
23 var ligne
= table
. insertRow ( i
+ 1 );
24 var cellage
= ligne
. insertCell ( 0 );
25 var celldate
= ligne
. insertCell ( 1 );
26 var cellpoids
= ligne
. insertCell ( 2 );
27 var celltaille
= ligne
. insertCell ( 3 );
29 cellage
. innerHTML
= '<input type="text" name="age_' + i
+ '">' ;
30 celldate
. innerHTML
= '<input name="date_' + i
+ '">' ;
31 celldate
. firstChild
. type
= mode
;
32 if ( mode
== "text" ) // si on a déjà affiché les cases en mode texte, on continue en mode texte
34 celldate
. firstChild
. size
= taillemaxdate
;
35 celldate
. firstChild
. maxlength
= taillemaxdate
;
36 celldate
. firstChild
. placeholder
= placeholder_date
;
38 cellpoids
. innerHTML
= '<input type="text" name="poids_' + i
+ '">' ;
39 celltaille
. innerHTML
= '<input type="text" name="taille_' + i
+ '">' ;
40 celltaille
. classList
. add ( "donneesplus" ) ;
45 // Affichage de la textarea "export"
46 function affiche_export ()
48 document
. getElementById ( "export" ). style
. display
= "block" ;
52 function affiche_cache ( id
, elemcourant
)
54 // affiche et/ou cache l'élément id, tout en changeant le this
55 // en afficher/masquer
56 elem
= document
. getElementById ( id
)
57 if ( elem
. style
. display
== "block" )
59 elem
. style
. display
= "none" ;
60 elemcourant
. innerHTML
= "Afficher" ;
64 elem
. style
. display
= "block" ;
65 elemcourant
. innerHTML
= "Masquer" ;
71 function affiche_cache_classe ( classe
)
73 // affiche et/ou cache tous les éléments de la classe classe (et change le texte du this)
74 var listelem
= document
. getElementsByClassName ( classe
) ;
76 if ( listelem
[ 0 ]. style
. display
!= "block" ) // c'est caché, donc on veut afficher
78 document
. getElementById ( "bouton_afficher_donneesplus" ). innerHTML
= "Masquer" ;
79 attributaff
= "block" ;
83 document
. getElementById ( "bouton_afficher_donneesplus" ). innerHTML
= "Afficher" ;
84 attributaff
= "none" ;
87 for ( var i
= 0 ; i
< listelem
. length
; i
++)
89 listelem
[ i
]. style
. display
= attributaff
;
93 function affiche_donneesplus_sibesoin ()
95 // fonction à appeler au chargement de la page
96 // On parcourt le tableau des tailles (ou autres) et on voit si y'a
97 // des choses dans les champs
99 var liste_cases
= document
. getElementsByTagName ( "td" ) ;
100 //alert(liste_cases[3].children[0].value+liste_cases[3].classList) ;
101 for ( i
= 0 ; i
< liste_cases
. length
&& !( trouve
); i
++)
103 // Si une des cases "données plus" contient un truc non vide
104 if ( liste_cases
[ i
]. classList
== "donneesplus" && liste_cases
[ i
]. children
[ 0 ]. value
!= "" )
110 affiche_cache_classe ( "donneesplus" )
113 function change_mode_dates ( mode
)
115 // passe de l'affichage en mode "date" à l'affichage en mode "texte" pour les navigateurs
116 // qui gèrent mal le mode date
117 var listeinput
= document
. getElementsByTagName ( "input" ) ;
118 for ( i
= 0 ; i
< listeinput
. length
; i
++)
120 var nombalise
= listeinput
[ i
]. name
;
121 if ( nombalise
== "naissance" || nombalise
. slice ( 0 , 5 ) == "date_" )
123 listeinput
[ i
]. type
= mode
;
125 listeinput
[ i
]. maxlength
= taillemaxdate
;
126 listeinput
[ i
]. size
= taillemaxdate
;
127 listeinput
[ i
]. placeholder
= placeholder_date
;
131 // changer le texte et le bouton.
132 var elem
= document
. getElementById ( "changemode" ) ;
135 elem
. innerHTML
= "Saisie des dates au format aaaa-mm-jj. <span onclick= \" change_mode_dates('date') \" class= \" bouton \" >Cliquez ici</span> pour revenir à une saisie de dates « confortable »."
139 elem
. innerHTML
= "<span onclick= \" change_mode_dates('text') \" class= \" bouton \" >Cliquez ici</span> pour saisir les dates comme du texte."