]>
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") ; | |
5679dfd0 DL |
41 | } |
42 | ||
43 | } | |
be2bf515 DL |
44 | |
45 | // Affichage de la textarea "export" | |
46 | function affiche_export() | |
47 | { | |
48 | document.getElementById("export").style.display = "block" ; | |
49 | ||
50 | } | |
51 | ||
52 | function affiche_cache(id,elemcourant) | |
53 | { | |
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") | |
58 | { | |
59 | elem.style.display = "none"; | |
60 | elemcourant.innerHTML = "Afficher" ; | |
61 | } | |
62 | else | |
63 | { | |
64 | elem.style.display = "block" ; | |
65 | elemcourant.innerHTML = "Masquer" ; | |
66 | ||
67 | } | |
68 | ||
69 | } | |
30158504 | 70 | |
2c023f1a DL |
71 | function affiche_cache_classe(classe) |
72 | { | |
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) ; | |
75 | var attributaff ; | |
76 | if(listelem[0].style.display != "block") // c'est caché, donc on veut afficher | |
77 | { | |
78 | document.getElementById("bouton_afficher_donneesplus").innerHTML = "Masquer" ; | |
79 | attributaff = "block" ; | |
80 | } | |
81 | else | |
82 | { | |
83 | document.getElementById("bouton_afficher_donneesplus").innerHTML = "Afficher" ; | |
84 | attributaff = "none" ; | |
85 | } | |
86 | ||
87 | for(var i=0;i<listelem.length; i++) | |
88 | { | |
89 | listelem[i].style.display = attributaff ; | |
90 | } | |
91 | } | |
92 | ||
93 | function affiche_donneesplus_sibesoin() | |
94 | { | |
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 | |
98 | var trouve = false ; | |
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++) | |
102 | { | |
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 != "") | |
105 | { | |
106 | trouve = true ; | |
107 | } | |
108 | } | |
109 | if(trouve) | |
110 | affiche_cache_classe("donneesplus") | |
111 | } | |
112 | ||
30158504 DL |
113 | function change_mode_dates(mode) |
114 | { | |
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++) | |
119 | { | |
120 | var nombalise = listeinput[i].name ; | |
121 | if(nombalise == "naissance" || nombalise.slice(0,5) == "date_") | |
122 | { | |
123 | listeinput[i].type = mode ; | |
124 | if(mode == "date") | |
125 | listeinput[i].maxlength = taillemaxdate ; | |
126 | listeinput[i].size = taillemaxdate ; | |
127 | listeinput[i].placeholder = placeholder_date ; | |
128 | } | |
129 | } | |
130 | ||
131 | // changer le texte et le bouton. | |
132 | var elem = document.getElementById("changemode") ; | |
133 | if(mode =="text") | |
134 | { | |
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 »." | |
136 | } | |
137 | else | |
138 | { | |
139 | elem.innerHTML = "<span onclick=\"change_mode_dates('text')\" class=\"bouton\">Cliquez ici</span> pour saisir les dates comme du texte." | |
140 | } | |
30158504 | 141 | } |