]>
git.immae.eu Git - perso/Denise/oms.git/blob - static/outilspage.js
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" ) ;
41 if ( deuxiemeligne
. children
[ 3 ]. style
. display
== "block" )
42 celltaille
. style
. display
= "block" ;
47 // Affichage de la textarea "export"
48 function affiche_export ()
50 document
. getElementById ( "export" ). style
. display
= "block" ;
54 function affiche_cache ( id
, elemcourant
)
56 // affiche et/ou cache l'élément id, tout en changeant le this
57 // en afficher/masquer
58 elem
= document
. getElementById ( id
)
59 if ( elem
. style
. display
== "block" )
61 elem
. style
. display
= "none" ;
62 elemcourant
. innerHTML
= "Afficher" ;
66 elem
. style
. display
= "block" ;
67 elemcourant
. innerHTML
= "Masquer" ;
73 function affiche_cache_classe ( classe
)
75 // affiche et/ou cache tous les éléments de la classe classe (et change le texte du this)
76 var listelem
= document
. getElementsByClassName ( classe
) ;
78 if ( listelem
[ 0 ]. style
. display
!= "block" ) // c'est caché, donc on veut afficher
80 document
. getElementById ( "bouton_afficher_donneesplus" ). innerHTML
= "Masquer" ;
81 attributaff
= "block" ;
85 document
. getElementById ( "bouton_afficher_donneesplus" ). innerHTML
= "Afficher" ;
86 attributaff
= "none" ;
89 for ( var i
= 0 ; i
< listelem
. length
; i
++)
91 listelem
[ i
]. style
. display
= attributaff
;
95 function affiche_donneesplus_sibesoin ()
97 // fonction à appeler au chargement de la page
98 // On parcourt le tableau des tailles (ou autres) et on voit si y'a
99 // des choses dans les champs
101 var liste_cases
= document
. getElementsByTagName ( "td" ) ;
102 //alert(liste_cases[3].children[0].value+liste_cases[3].classList) ;
103 for ( i
= 0 ; i
< liste_cases
. length
&& !( trouve
); i
++)
105 // Si une des cases "données plus" contient un truc non vide
106 if ( liste_cases
[ i
]. classList
== "donneesplus" && liste_cases
[ i
]. children
[ 0 ]. value
!= "" )
112 affiche_cache_classe ( "donneesplus" )
115 function change_mode_dates ( mode
)
117 // passe de l'affichage en mode "date" à l'affichage en mode "texte" pour les navigateurs
118 // qui gèrent mal le mode date
119 var listeinput
= document
. getElementsByTagName ( "input" ) ;
120 for ( i
= 0 ; i
< listeinput
. length
; i
++)
122 var nombalise
= listeinput
[ i
]. name
;
123 if ( nombalise
== "naissance" || nombalise
. slice ( 0 , 5 ) == "date_" )
125 listeinput
[ i
]. type
= mode
;
127 listeinput
[ i
]. maxlength
= taillemaxdate
;
128 listeinput
[ i
]. size
= taillemaxdate
;
129 listeinput
[ i
]. placeholder
= placeholder_date
;
133 // changer le texte et le bouton.
134 var elem
= document
. getElementById ( "changemode" ) ;
137 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 »."
141 elem
. innerHTML
= "<span onclick= \" change_mode_dates('text') \" class= \" bouton \" >Cliquez ici</span> pour saisir les dates comme du texte."
145 function revele_enfants ()
147 // révèle tous les champs pour enfants additionnels
148 var listelt
= document
. getElementsByClassName ( "enfants_cache_def" ) ;
149 for ( i
= 0 ; i
< listelt
. length
; i
++) {
150 listelt
[ i
]. style
. display
= "block" ;
152 // Enlève le bouton pour les afficher
153 var bouton
= document
. getElementById ( "reveleenfants" ) ;
154 bouton
. style
. display
= "none" ;
157 function vide_champ ( nom
)
159 // vide le champ d'id proposé
160 var elt
= document
. getElementById ( nom
) ;