]>
Commit | Line | Data |
---|---|---|
5679dfd0 DL |
1 | // fonctions générales pour la page |
2 | ||
30158504 DL |
3 | var taillemaxdate = 10; |
4 | var placeholder_date = "aaaa-mm-jj" ; | |
5 | ||
6 | ||
5679dfd0 DL |
7 | function ajoutelignes() |
8 | { | |
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. | |
30158504 DL |
14 | |
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 ; | |
5679dfd0 DL |
19 | |
20 | var nbajout = 3 ; | |
21 | for(var i=nbligne-1; i<nbligne+nbajout-1; i++) | |
22 | { | |
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); | |
2c023f1a | 27 | var celltaille = ligne.insertCell(3); |
5679dfd0 DL |
28 | |
29 | cellage.innerHTML = '<input type="text" name="age_'+i+'">' ; | |
30158504 DL |
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 | |
33 | { | |
34 | celldate.firstChild.size = taillemaxdate ; | |
35 | celldate.firstChild.maxlength = taillemaxdate ; | |
36 | celldate.firstChild.placeholder = placeholder_date ; | |
37 | } | |
38 | cellpoids.innerHTML = '<input type="text" name="poids_'+i+'">' ; | |
2c023f1a DL |
39 | celltaille.innerHTML = '<input type="text" name="taille_'+i+'">' ; |
40 | celltaille.classList.add("donneesplus") ; | |
46ec917b DL |
41 | if(deuxiemeligne.children[3].style.display == "block") |
42 | celltaille.style.display = "block" ; | |
5679dfd0 DL |
43 | } |
44 | ||
45 | } | |
be2bf515 DL |
46 | |
47 | // Affichage de la textarea "export" | |
48 | function affiche_export() | |
49 | { | |
50 | document.getElementById("export").style.display = "block" ; | |
51 | ||
52 | } | |
53 | ||
54 | function affiche_cache(id,elemcourant) | |
55 | { | |
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") | |
60 | { | |
61 | elem.style.display = "none"; | |
62 | elemcourant.innerHTML = "Afficher" ; | |
63 | } | |
64 | else | |
65 | { | |
66 | elem.style.display = "block" ; | |
67 | elemcourant.innerHTML = "Masquer" ; | |
68 | ||
69 | } | |
70 | ||
71 | } | |
30158504 | 72 | |
2c023f1a DL |
73 | function affiche_cache_classe(classe) |
74 | { | |
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) ; | |
77 | var attributaff ; | |
78 | if(listelem[0].style.display != "block") // c'est caché, donc on veut afficher | |
79 | { | |
80 | document.getElementById("bouton_afficher_donneesplus").innerHTML = "Masquer" ; | |
81 | attributaff = "block" ; | |
82 | } | |
83 | else | |
84 | { | |
85 | document.getElementById("bouton_afficher_donneesplus").innerHTML = "Afficher" ; | |
86 | attributaff = "none" ; | |
87 | } | |
88 | ||
89 | for(var i=0;i<listelem.length; i++) | |
90 | { | |
91 | listelem[i].style.display = attributaff ; | |
92 | } | |
93 | } | |
94 | ||
95 | function affiche_donneesplus_sibesoin() | |
96 | { | |
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 | |
100 | var trouve = false ; | |
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++) | |
104 | { | |
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 != "") | |
107 | { | |
108 | trouve = true ; | |
109 | } | |
110 | } | |
111 | if(trouve) | |
112 | affiche_cache_classe("donneesplus") | |
113 | } | |
114 | ||
30158504 DL |
115 | function change_mode_dates(mode) |
116 | { | |
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++) | |
121 | { | |
122 | var nombalise = listeinput[i].name ; | |
123 | if(nombalise == "naissance" || nombalise.slice(0,5) == "date_") | |
124 | { | |
125 | listeinput[i].type = mode ; | |
126 | if(mode == "date") | |
127 | listeinput[i].maxlength = taillemaxdate ; | |
128 | listeinput[i].size = taillemaxdate ; | |
129 | listeinput[i].placeholder = placeholder_date ; | |
130 | } | |
131 | } | |
132 | ||
133 | // changer le texte et le bouton. | |
134 | var elem = document.getElementById("changemode") ; | |
135 | if(mode =="text") | |
136 | { | |
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 »." | |
138 | } | |
139 | else | |
140 | { | |
141 | elem.innerHTML = "<span onclick=\"change_mode_dates('text')\" class=\"bouton\">Cliquez ici</span> pour saisir les dates comme du texte." | |
142 | } | |
30158504 | 143 | } |
ca61f310 DL |
144 | |
145 | function revele_enfants() | |
146 | { | |
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" ; | |
151 | } | |
152 | // Enlève le bouton pour les afficher | |
153 | var bouton = document.getElementById("reveleenfants") ; | |
154 | bouton.style.display = "none" ; | |
155 | } | |
156 | ||
157 | function vide_champ(nom) | |
158 | { | |
159 | // vide le champ d'id proposé | |
160 | var elt = document.getElementById(nom) ; | |
161 | elt.value = "" ; | |
162 | } |