Je travaille pour une école à charte et j'apprends tout juste à me familiariser avec le javascript. J'ai du code écrit par la personne qui occupait mon poste auparavant et il me semble qu'il devrait fonctionner, mais ce n'est pas le cas.
Voici ce que j'ai dans la page HTML personnalisée de mon SIS :
GED Status: <script language="Javascript">gedCheck('~(ELC_tspp_GED_read_score)','~ (ELC_tspp_GED_wri_score)','~(ELC_tspp_math_GED_score)','~(ELC_science_state_exam_score)','~(soc_sci_state_exam_score)')</script>
Cela semble extraire correctement les valeurs des différents champs de la base de données, puisque la routine javascript évalue chaque valeur pour s'assurer qu'elle est au moins égale à 410. Mais cela ne va pas plus loin...
Voici le code de la routine javascript :
function gedCheck(read,wri,math,sci,soc) {
if( read < 0 && read > 1000 )
read = 0;
if( wri < 0 && wri > 1000 )
wri = 0;
if( math < 0 && math > 1000 )
math = 0;
if( sci < 0 && read > 1000 )
read = 0;
if( soc < 0 && soc > 1000 )
soc = 0;
if ( (read >= 410) && (wri >= 410) && (math >= 410) && (sci >= 410) && (soc >= 410) ) {
if( read+wri+math+sci+soc >= 2250 )
document.write( "PASSED" )
}
else
document.write( "NOT PASSED" )
}
Il est censé vérifier que chaque score obtenu aux tests GED est au moins égal à 410, et que la somme de tous les scores est au moins égale à 2250. Cependant, il ne va pas jusqu'à la dernière partie. Il renvoie la mention "PASSÉ" si tous les scores sont supérieurs à 410.
J'ai essayé ceci, mais cela ne fonctionne pas non plus.
function gedCheck(read,wri,math,sci,soc) {
if( read < 0 && read > 1000 )
read = 0;
if( wri < 0 && wri > 1000 )
wri = 0;
if( math < 0 && math > 1000 )
math = 0;
if( sci < 0 && read > 1000 )
read = 0;
if( soc < 0 && soc > 1000 )
soc = 0;
if ( (read >= 410) && (wri >= 410) && (math >= 410) && (sci >= 410) && (soc >= 410) ) {
if( read+wri+math+sci+soc/5 >= 450 )
document.write( "PASSED" )
}
else
document.write( "NOT PASSED" )
}
Quelqu'un pourrait-il m'aider à résoudre ce problème de manière à ce qu'il calcule la moyenne des 5 nombres et renvoie "PASSÉ" uniquement si la moyenne est de 450, OU qu'il additionne simplement les 5 nombres et renvoie "PASSÉ" uniquement si la somme totale est égale ou supérieure à 2250 ?