source: spip-zone/_plugins_/hydraulic/branches/v0.3/formulaires/calcul_normale_critique.html @ 59311

Last change on this file since 59311 was 59311, checked in by m.dulondel@…, 8 years ago
  • Mise à jour des fichiers langues: Français et Anglais.
  • Ajout du formulaire calcul_normale_critique (encore brouillon, à améliorer).
  • Modification minime du css (tous les éléments sont désormais centrés).
  • Amélioration de la mise en page des formulaires existants.
File size: 7.5 KB
Line 
1[<div class='hyd_formulaire_erreur '><span>(#ENV*{message_erreur})</span></div>]
2<script language="javascript" type="text/javascript" src="#CHEMIN{js/hyd_fonctions.js}"></script>
3<script> 
4
5
6//Permet d'afficher ou cacher les champs correspondant à une section.
7function afficher_cacher() {
8        var section = getSelectValue('choix_section_nc');
9    var f = document.getElementById("form_normale_critique");
10    if(f) {
11                var champs = f.getElementsByTagName("tr");
12                for(var i=0, n=champs.length; i<n; i++) {   
13                        if((champs[i].getAttribute("id") != null) &&((champs[i].getAttribute("id")).substr(0,2) == section)){
14                                document.getElementById((champs[i].getAttribute("id"))).style.display='table-row';
15                        }
16                        else if((champs[i].getAttribute("id") != null) &&((champs[i].getAttribute("id")).substr(0,1) == 'F')) {
17                                document.getElementById((champs[i].getAttribute("id"))).style.display='none';
18                        }               
19                }
20    }   
21}
22
23var glob = [];
24// Variables globales contenant le choix fait pour chaque ligne 
25<BOUCLE_sans_coeff(POUR){tableau #ENV{tableau_caract}}>
26        glob['#CLE'] = '#ENV{choix_champs_#CLE}';
27</BOUCLE_sans_coeff>
28
29// Mise a jour des variables globales
30function setVarGlob(){
31        <BOUCLE_sans_coeff2(POUR){tableau #ENV{tableau_caract}}>
32                glob['#CLE'] = getRadioValue('choix_champs_#CLE');
33        </BOUCLE_sans_coeff2>
34}
35
36// Gére le comportement des boutons radios
37function gestion_radios(nom,valeur){
38       
39        var tabPartiel = {
40                <BOUCLE_sans_coeff3(POUR){tableau #ENV{tableau_caract}}>
41                        '#CLE' : glob['#CLE'],
42                </BOUCLE_sans_coeff3>
43        };
44       
45        delete(tabPartiel[nom]);
46       
47        // Tableau des indices
48
49        var tabIndice = [
50                <BOUCLE_sans_coeff4(POUR){tableau #ENV{tableau_caract}}>
51                        '#CLE',
52                </BOUCLE_sans_coeff4>
53        ];
54       
55        // Si on appuis sur un bouton de type "varier_val" ou "val_fixe"
56        if(valeur.substr(0,3) == 'var' || valeur.substr(0,3)=='val'){
57                for(var cle in tabPartiel){
58                        if(document.getElementById('varier_val_'+cle).checked && (glob[nom] != "calcul_val_"+nom)){
59                                document.getElementById('val_fixe_'+cle).checked=true;
60                                setVarGlob();
61                        }
62                        else if(document.getElementById('varier_val_'+cle).checked && (glob[nom] == "calcul_val_"+nom) && valeur.substr(0,3) == 'var'){
63                       
64                                document.getElementById('calcul_val_'+cle).checked=true;
65                                document.getElementById('caract_'+cle).disabled=true;
66                                document.getElementById('caract_'+nom).disabled=false;
67                                setVarGlob();
68                        }
69                }
70               
71        if(valeur.substr(0,3) == 'var'){
72                setVarGlob();
73                document.getElementById('caract_'+nom).disabled=true;
74                for(var cle in glob){
75                        if(glob[cle].substr(0,3) == 'val'){
76                                document.getElementById('caract_'+cle).disabled=false;
77                        }       
78                }
79               
80                var afficher = document.getElementsByClassName('champs_var_'+nom);
81                for(var i in afficher){
82                        afficher[i].style.display='table-row';
83                }
84               
85                for(var cle in tabPartiel){     
86                        var cacher = document.getElementsByClassName('champs_var_'+cle);
87                        for(var i in cacher){
88                                cacher[i].style.display='none';
89                        }
90                }
91               
92                setVarGlob();
93        }
94
95        // Compte le nombre de varier_val checké
96        var cptVarVal = 0;
97        for(var cle in glob){
98                if(document.getElementById('varier_val_'+cle).checked){
99                        cptVarVal++;
100                }
101        }
102       
103        if(cptVarVal == 0){
104                for(var cle in glob){
105                        if(glob[cle].substr(0,3) != 'cal'){
106                                document.getElementById('caract_'+cle).disabled=false;
107                        }       
108                }
109                var cacher = document.getElementsByClassName('champs_var_'+nom);
110                for(var i in cacher){
111                        cacher[i].style.display='none';
112                }
113        }
114       
115        setVarGlob();
116}
117</script>
118
119<form method="post" action="#ENV{action}" id="form_normale_critique">
120   #ACTION_FORMULAIRE{#ENV{action}}
121   <table class="hyd_formulaire">
122      <tbody>
123                        <tr id="type_section_field_nc">
124                                <td colspan="6"><div class="hyd_formulaire_chapitre"><:hydraulic:type_section:></div></td>
125                        </tr>
126
127                        <tr id="type_section_nc">
128                                <td align="right">
129                                        <:hydraulic:choix_section:>
130                                </td>
131                                               
132                                <td>
133                                        <select name="ncTypeSection" id="choix_section_nc" onChange="afficher_cacher();">
134                                                <option value="FT" [(#ENV{ncTypeSection}|=={'FT'}|?{'selected',''})]><:hydraulic:section_trap:></option>
135                                                <option value="FR" [(#ENV{ncTypeSection}|=={'FR'}|?{'selected',''})]><:hydraulic:section_rect:></option>
136                                                <option value="FC" [(#ENV{ncTypeSection}|=={'FC'}|?{'selected',''})]><:hydraulic:section_circ:></option>
137                                                <option value="FP" [(#ENV{ncTypeSection}|=={'FP'}|?{'selected',''})]><:hydraulic:section_puiss:></option>
138                                        </select>
139                 
140                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{[(#VALEUR|table_valeur{0})]})</div>]
141                                </td>
142                                               
143                        </tr>
144                       
145                        <BOUCLE_fieldChamps(POUR){tableau #ENV{mes_saisies}}>
146                               
147                                 #SET{id_fieldset, #CLE}
148                                       
149                                 <tr id="#GET{id_fieldset}_field_nc" style="display:[(#CLE|match{^([(#ENV{ncTypeSection})]|Caract)$}|?{'table-row','none'})];">                         
150                                         <td colspan="6"><div class="hyd_formulaire_chapitre">[(#VALEUR|table_valeur{0})]</div></td>
151                                </tr>
152                               
153                                [(#GET{id_fieldset}|=={'Caract'}|?{
154                                <tr>
155                                        <td colspan="2"></td>
156                                        <td width="75px" colspan="2" align="center"><:hydraulic:varier_val:></td>
157                                        <td width="75px" colspan="2" align="center"><:hydraulic:fixer_val:></td>
158                                </tr>
159                                ,''})]
160                               
161                                <BOUCLE_champsLib(POUR){tableau (#VALEUR|table_valeur{1})}>
162
163                                        <tr id="#GET{id_fieldset}_[(#CLE)]_nc" style="display:[(#GET{id_fieldset}|match{^([(#ENV{ncTypeSection})]|Caract)$}|?{'table-row','none'})];">
164                                                <td align="right" width="150px"> 
165                                                        [(#VALEUR|table_valeur{0}|traduction_libelle)] :               
166                                                </td>
167                                       
168                                                <td>
169                                                   <input type="text" value="[(#ENV{#GET{id_fieldset}_[(#CLE)]_nc})]" maxlength="30" name="#GET{id_fieldset}_[(#CLE)]_nc">
170                                                   [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{#GET{id_fieldset}_[(#CLE)]_nc})</div>]
171                                                </td>
172                                               
173                                        [(#GET{id_fieldset}|=={'Caract'}|?{
174                                                       
175                                                <td colspan="2" align="center">
176                                                        <input type="radio" id="varier_val_#CLE" name="choix_champs_#CLE" value="varier_val_#CLE" onclick="" [(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}?{'checked',''})]/>
177                                                </td>
178                                                                                       
179                                                <td colspan="2" align="center">
180                                                        <input type="radio" id="val_fixe_#CLE" name="choix_champs_#CLE" value="val_fixe_#CLE" onclick="" [(#ENV{choix_champs_#CLE}|=={val_fixe_#CLE}?{'checked',''})]/>
181                                                </td>
182                                        </tr>
183                                       
184                                        <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
185                                                <td></td>
186                                                <td align="right"><:hydraulic:val_min:> #CLE :
187                                                        <input name="val_min_#CLE" type="text" value=""/>
188                                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_min_#CLE})</div>]
189                                                </td>
190                                                <td colspan="6"></td>
191                                        </tr>
192                                       
193                                        <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
194                                                <td></td>
195                                                <td align="right"><:hydraulic:val_max:> #CLE :
196                                                        <input name="val_max_#CLE" type="text" value=""/>
197                                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{val_max_#CLE})</div>]
198                                                </td>
199                                                <td colspan="6"></td>
200                                        </tr>
201                                       
202                                        <tr class="champs_var_#CLE" style="display:[(#ENV{choix_champs_#CLE}|=={varier_val_#CLE}|?{'table-row','none'})];">
203                                                <td></td>
204                                                <td align="right"><:hydraulic:pas_var:> #CLE :
205                                                        <input name="pas_var_#CLE" type="text" value=""/>
206                                                        [<div class='hyd_erreur'>(#ENV**{erreurs}|table_valeur{pas_var_#CLE})</div>]
207                                                </td>
208                                                <td colspan="6"></td>
209                                        </tr>   
210                                                ,
211                                        </tr>})]
212                               
213                                </BOUCLE_champsLib>
214
215                        </BOUCLE_fieldChamps>
216
217
218                        <tr>
219                                <td colspan="6" class="hyd_bouton_submit">
220                                   <input type="submit" value="<:hydraulic:calculer:>">
221                                </td>
222                        </tr>
223                       
224      </tbody>
225   </table>
226</form>
227
228[<div class='hydraulic_resultat'>(#ENV*{message_ok})</div>]
Note: See TracBrowser for help on using the repository browser.