udoryl
Messages postés3Date d'inscriptiondimanche 20 mars 2011StatutMembreDernière intervention20 mars 2011
-
20 mars 2011 à 03:47
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 2013
-
21 mars 2011 à 15:20
function saisirCalculerEtAfficher(){
var pond = prompt("Entrez la note maximale possible pour cette evaluation","100");
var test = validerPonderation(pond);
if (test == true){pond=parseInt(pond)}
}
function validerPonderation(unePonderation){
if (parseInt(pond) > 0 && parseFloat(pond) == parseInt(pond)) {
return true;
}
else if(parseInt(pond) <= 0 || parseFloat(pond) != parseInt(pond)){
alert("Cette ponderation n\'est pas valide...");}
}
//***Déclaration
var pond;//entier: Pondération maximale des notes des élèves.
tNotes=[];//Tableau, entier: Notes des élèves
var somme=0;
var echec=0;
Quand je défini la variable pond comme 100. Il me renvoie l'alert...
J'aimerais comprendre pourquoi et avoir une aide...
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 21 mars 2011 à 15:20
Salut,
Plusieurs choses :
- ta condition else if est inutile, elle correspond point pour point à l'inverse de ton if, c'est donc un else simple,
- ta fonction validerPonderation renvoie true si la pondération est bonne, par contre à part alerter elle ne renvoie pas false le cas échéant (ça pourrait poser souci par la suite lors d'appel à cette fonction),
- enfin, dans cette même fonction, et c'est là d'où vient ton erreur, tu testes la valeur de la variable pond, qui n'existe pas dans le contexte. Il va donc chercher celle définie en globale (du coup c'est faux mais ça lève pas d'exception). Il te suffit de remplace pond par unePonderation (nom de ton param de la fonction) dans toute ta fonction.