Bonjour à tous,
Je finalise un formulaire web (HTML/JAVASCRIPT) qui va permettre à des étudiants de choisir des cours.
Pour ce faire, ils doivent choisir un cours dans une select list et ensuite cocher une case à cocher pour choisir le type du cours (théorie, TP ou exercice).
Quand l'étudiant choisit le cours dans la select list, le nom du cours apparaît directement dans une zone de texte.
Le problème est que depuis que j'ai ajouté des cours, il indique le nom d'un cours qui ne correspond pas au mnémonic choisi.
Voici le code :
C'est le tableau qui reprend le nom des cours (dans l'ordre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 var nom_matiere = new Array('', 'Biochimie médicale',//BIOC 008 A KUMPS MA1 (2e GRADE) 'Biologie générale',//BIOL-J-101 DE VOS BA1 'Biologie végétale',//BIOL-J-102 LEJOLY BA1 'Microbiologie, immunologie et hygiène',//BIOL-J-301 DEVLEESCHOUWER BA3 'Chimie générale et introduction à la chimie organique',// 'Physique expérimentale', 'Biologie générale', 'Biologie végétale', 'Mathématiques', 'Projet transdisciplinaire en sciences expérimentales', 'Pharmacie et société', 'Introduction botanique à la pharmacognosie...', 'Biologie moléculaire et cellulaire', 'Biochimie générale et humaine', 'Chimie organique', 'Pratique de l\'outil informatique', 'Physiologie et anatomie humaines', '', 'Analyse pharmaceutique : méthodes physico-chimiques...', 'Analyse pharmaceutique : méthodes spectroscopiques', '','','','','', 'Biostatistique', 'Projet transdisciplinaire en sciences du vivant', 'Projet transdisciplinaire en analyse spectrale', '','','','','','','','','','','');
Quand je faisune fenêtre affiche tous les cours.
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert(nom_matiere);
voici le code de la select list :
Son action est onchange, il va chercher maj()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <select name="select4" id="select4" onChange="maj()"> <option select=""> Choissisez une matière</option> <option value="1">BIOC-008</option> <option value="2">BIOL-J-101</option> <option value="3">BIOL-J-102</option> <option value="4">BIOL-J-201</option> <option value="5">BIOL-J-301</option> <option value="6">BMOL-J-201</option> <option value="7">BMOL-J-202</option> <option value="8">CHIM-J-101</option> <option value="9">CHIM-J-201</option> <option value="10">DROI-016</option> <option value="11">ETHI-005</option> <option value="12">INFO-J-201</option> <option value="13">MATH-F-109-B</option> <option value="14">MEDI-J-201</option> <option value="15">MEDI-J-301</option> <option value="16">PHAR-006</option> <option value="17">PHAR-039</option> <option value="18">PHAR-043</option> <option value="19">PHAR-083</option> <option value="20">PHAR-093</option> <option value="21">PHAR-094</option> <option value="22">PHAR-095</option> <option value="23">PHAR-J-201</option> <option value="24">PHAR-J-202</option> <option value="25">PHAR-J-301</option> <option value="26">PHAR-J-302</option> <option value="27">PHAR-J-303</option> <option value="28">PHAR-J-304</option> <option value="29">PHAR-J-305</option> <option value="30">PHYS-J-101</option> <option value="31">TOXI-016</option> <option value="32">TRAN-J-101</option> <option value="33">TRAN-J-102</option> <option value="34">STAT-J-201</option> <option value="35">TRAN-J-201</option> <option value="36">TRAN-J-202</option> <option value="37">TRAN-J-301</option> <option value="38">TRAN-J-302</option> </select>
La foncton maj est ici :
Quand je fais alert(s.value); j'obtiens 1 pour le premier mnémonic, nommé BIOC 008 qui devrait indiqué dans la zone de texte "biochimie médicale".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function maj() { t = document.getElementById('CI1'); s = document.getElementById('select4'); alert(s.value); t.value = nom_matiere[s.options[s.selectedIndex].value]; alert(t.value); maj_checkbox(); maj_checkboxCI1TP(); maj_checkboxCI1EX(); document.form1.hfCI1.value=t.value; document.form1.hfCI1mnemonic.value = s.value;}
Quand je fais alert(t.value), il me donne un autre nom de cours, je pense donc que le problème se trouve ici ? Il me donne le nom du cours "Introduction Botanique à la Pharmacognosie..."
Cette fonction permet de mettre à jour les valeurs du type de cours (th tp ou ex) cette partie du code fonctionne étrangement bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function maj_checkbox() { //TABLEAU D'ECTS //c'est ici qu'on change la valeur des ECTS !!!!!!!!!!!! //0 correspond à choississez une matière var credits = new Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39); // Tableau des crédits ECTS. On retrouve 21 valeur ce qui correspond au nombre d'option disponible dans ton select. A toi de choisir la valeur des crédits ECTS en fonction de la matière. J'ai fais simple pour l'exemple mais les nombres peuvent très bien changer ;) cCI1TH = document.getElementById('cbCI1TH'); // On récupère la checkbox qui a pour id="checkboxECTS" (correspond à TH) cCI1TH_val = document.getElementById('ECTSCI1TH'); // On récupère le input text à coté de la checkbox s = document.getElementById('select4'); if(cCI1TH.checked) { // On test si la checkbox est coché cCI1TH_val.value = credits[s.options[s.selectedIndex].value]; // Puis on met à jour le input text en récupèrant la valeur de la matière selectionné et en allant cherché le nombre de crédits ECTS dans le tableau credits //alert(cCI1TH_val.value); ECTSCITH = cCI1TH_val.value; //alert(ECTSCITH); //document.form1.txtTotalECTS.value = ECTSCITH.value; document.form1.hfCI1TH.value=cCI1TH_val.value; } else { cCI1TH_val.value = " "; // Si la checkbox est décoché on met une chaine vide pour les crédits ECTS. } // somme(); } </script>
Voyez-vous ce qui ne permet pas au progamme de d'assoicier le mnémonic et son intitulé de cours ?
Merci d'avance pour l'aide que vous m'apporterez.
beegees
Partager