Utilisation automatique du alert?

udoryl Messages postés 3 Date d'inscription dimanche 20 mars 2011 Statut Membre Dernière intervention 20 mars 2011 - 20 mars 2011 à 03:47
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Derniè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...

2 réponses

MacGaliver Messages postés 146 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 21 juillet 2013 3
20 mars 2011 à 11:02
Salut,

Car l'interval de la variante est indéfini.
En résumé l'expression est la suivante:
0=< var >=100
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
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.

Bon code
0
Rejoignez-nous