Bonjour tout le monde,

J'ai un problème et ne trouve pas la solution à ce dernier.

Les étudiants de notre fac réserve certains cours via le web, pour chaque cours, un crédit correspond.

Le problème est que si le cours vaut 1,5, le total (qui reprend le total de chaque crédit pour chaque cours) ajoute 1.

Voici le code qui fait le total :

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
	<script type="text/javascript" language="javascript">
function somme() {
		/** Variables permettant la récupération des valeurs */
		var th_ects1,th_ects2,th_ects3,th_ects4;
		var tp_etcs1,tp_etcs2,tp_etcs3,tp_etcs4;
		var total;  // Correspond à ton champ txtTotalECTS
 
		// Ici on récupère tous nos champs 
		th_ects1 = (document.getElementById("ECTSCI1TH").value != "" && document.getElementById("ECTSCI1TH").value != "undefined")?parseInt(document.getElementById("ECTSCI1TH").value):0;
		th_ects2 = (document.getElementById("ECTSCI2TH").value != "" && document.getElementById("ECTSCI2TH").value != "undefined")?parseInt(document.getElementById("ECTSCI2TH").value):0;
		th_ects3 = (document.getElementById("ECTSCI3TH").value != "" && document.getElementById("ECTSCI3TH").value != "undefined")?parseInt(document.getElementById("ECTSCI3TH").value):0;
		th_ects4 = (document.getElementById("ECTSCI4TH").value != "" && document.getElementById("ECTSCI4TH").value != "undefined")?parseInt(document.getElementById("ECTSCI4TH").value):0;
		tp_etcs1 = (document.getElementById("ECTSCI1TP").value != "" && document.getElementById("ECTSCI1TP").value != "undefined")?parseInt(document.getElementById("ECTSCI1TP").value):0;
		tp_etcs2 = (document.getElementById("ECTSCI2TP").value != "" && document.getElementById("ECTSCI2TP").value != "undefined")?parseInt(document.getElementById("ECTSCI2TP").value):0;
		tp_etcs3 = (document.getElementById("ECTSCI3TP").value != "" && document.getElementById("ECTSCI3TP").value != "undefined")?parseInt(document.getElementById("ECTSCI3TP").value):0;
		tp_etcs4 = (document.getElementById("ECTSCI4TP").value != "" && document.getElementById("ECTSCI4TP").value != "undefined")?parseInt(document.getElementById("ECTSCI4TP").value):0;
 
		total = document.getElementById("txtTotalECTS");
		total.value = th_ects1+th_ects2+th_ects3+th_ects4+tp_etcs1+tp_etcs2+tp_etcs3+tp_etcs4;
 
		/*if 	(total.value > CreditOK_javascript)
 
		{
		alert('Vous dépassez le nombre d ECTS autorisés !')
 
		}				*/
 
 
 
	}
</script>

Voyez-vous pourquoi le 1,5 se ajoute 1 et non 1,5 ? j'utiise des points 1.5 et non 1,5.

Voici encore une partie du code :

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
		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,0/*BIOC 008*/,4/*BIOL-J-101*/,3/*BIOL-J-102*/,1.5/*BIOL-J-201*/,4/*BIOL-J-301*/);	// 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>
La variable ne retient que la partie entière, est-il possible de tenir toute la partie du nombre, dois-je déclarer en flaot ?

Merci d'avance pour votre indispensable aide.

beegees