11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour, débutant en écriture de script, je n'arrive pas à trouver mon erreur.
Mon script doit permettre de récupérer des variables, puis de les additionner pour donner une somme de 24 (c'est la condition) ; jusque là, ça fonctionne très bien, Mais ensuite ces variables doivent être multipliés par divers chiffres pour donner un résultat et en fonction de ce résultat une de mes conditions doit s'afficher. MAIS elle ne s'affiche pas.

Plusieurs possibilités d'erreur : ma fonction de calcul_nap ou mes conditions if en fin de js ? pourriez-vous m'aider svp ?

function control_input(e) {
if (verif_numeric(e.value)) {
	// détection des erreurs
	if(parseInt(e.value) >'22') {e.value='';}
	//if(parseInt(e.value) >'23') {e.value='';}
	if(parseInt(e.value) < '0') {e.value='';}
	

} else {e.value='';} 

if (e.value == '') {e.value= '0';}
}

function calcul_DEP(e) {

if (e.value == "") {e.value = "0";}

var total_heure = parseInt(document.getElementById('total_heure').innerHTML);
var t1 = parseInt(document.getElementById('t1').value);
var t2 = parseInt(document.getElementById('t2').value);
var t3 = parseInt(document.getElementById('t3').value);
var t4 = parseInt(document.getElementById('t4').value);
var t5 = parseInt(document.getElementById('t5').value);
var t6 = parseInt(document.getElementById('t6').value);
//alert(total_heure);
var message_dep = document.getElementById('message_dep');



var total_heure_tmp = eval(t1+t2+t3+t4+t5+t6);

document.getElementById('total_heure').innerHTML = total_heure_tmp;


if (total_heure_tmp > '24') {document.getElementById('total_heure').style.borderColor = "red";
							 document.getElementById('total_heure').style.color = "red";	
							message_dep.innerHTML = "Vous devez répertorier toutes vos heures de la journée : ne doit pas dépasser 24 heures ";
							}
else {document.getElementById('total_heure').style.borderColor = "#069";
		document.getElementById('total_heure').style.color = "#069";	
     }
if (total_heure_tmp < '24') { message_dep.innerHTML = "Vous devez inscrire toutes vos heures de la journée, merci";}

if (total_heure_tmp == '24') { message_dep.innerHTML = "<button type='button' onclick='calcul_nap()'>Calculer votre NAP</button>";}
}

function verif_numeric(variable)
{
var exp = new RegExp("^[0-9]+$","g");
return exp.test(variable);
} 

function reset_form() {
document.dep_mb.reset();
document.getElementById('total_heure').innerHTML = "0";
document.getElementById('message_dep').innerHTML = "";
document.getElementById('message_table').style.display="none";
}

function calcul_nap() {
var t1 = parseInt(document.getElementById('t1').value);
var t2 = parseInt(document.getElementById('t2').value);
var t3 = parseInt(document.getElementById('t3').value);
var t4 = parseInt(document.getElementById('t4').value);
var t5 = parseInt(document.getElementById('t5').value);
var t6 = parseInt(document.getElementById('t6').value);
var message_dep = document.getElementById('message_dep');
var nadreel = eval(((t1*1)+(t2*1.5)+(t3*2)+(t4*2.5)+(t5*3)+(t6*5))/24);

}

if ((nadreel>1.0)&&(nadreel<1.39)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR> Vous êtes sédentaire</u>, pour changer de mode de vie à passez à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes sédentaire</u>";
document.getElementById('l1_nap').style.backgroundColor ="red";
document.getElementById('l1_nap').style.fontWeight="bold";
} 
if ((nadreel==1.0)||(nadreel==1.39)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR>Vous êtes sédentaire</u>, pour changer de mode de vie à passez à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes sédentaire</u>";
document.getElementById('l1_nap').style.backgroundColor ="red";
document.getElementById('l1_nap').style.fontWeight="bold";
}
if ((nadreel>1.4)&&(nadreel<1.59)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR>Vous êtes peu actif</u>, devenez plus actif en passant à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes peu actif</u>";
document.getElementById('l2_nap').style.backgroundColor ="red";
document.getElementById('l2_nap').style.fontWeight="bold";
}
if ((nadreel==1.4)||(nadreel==1.59)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR>Vous êtes peu actif</u>, devenez plus actif en passant à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes peu actif</u>";
document.getElementById('l2_nap').style.backgroundColor ="red";
document.getElementById('l2_nap').style.fontWeight="bold";
}
if ((nadreel>1.6)&&(nadreel<1.89)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR>Vous êtes actif, bravo continuez en passant à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes actif</u>";
document.getElementById('l3_nap').style.backgroundColor ="red";
document.getElementById('l3_nap').style.fontWeight="bold";
}
if ((nadreel==1.6)||(nadreel==1.89)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR> Vous êtes actif, bravo continuez en passant à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes actif</u>";
document.getElementById('l3_nap').style.backgroundColor ="red";
document.getElementById('l3_nap').style.fontWeight="bold";
}
if ((nadreel>1.9)&&(nadreel<2.5)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR> Vous êtes très actif, découvrez d'autres activités en passant à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes très actif</u>";
document.getElementById('l4_nap').style.backgroundColor ="red";
document.getElementById('l4_nap').style.fontWeight="bold";
}
if ((nadreel==1.9)||(nadreel==2.5)) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR>Vous êtes très actif, découvrez d'autres activités en passant à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes très actif</u>";
document.getElementById('l4_nap').style.backgroundColor ="red";
document.getElementById('l4_nap').style.fontWeight="bold";
}
if (nadreel>2.5) {
message_dep.innerHTML = "<u>Votre NAP est de " +nadreel.toFixed(2) + "<BR>Vous êtes très actif, découvrez d'autres activités en passant à <a href='inscription.php' target='_new'>l'action</a><BR><BR>";
var message_inter = nadreel.toFixed(2) + " : <u>Vous êtes très actif</u>";
document.getElementById('l4_nap').style.backgroundColor ="red";
document.getElementById('l4_nap').style.fontWeight="bold";
}


Sur ma page : ici
Bonjour,

Le gros problème dans ton code, c'est tous tes if à la fin qui devrait être dans la fonction calcul_nap() et qui ne le sont pas.

Cf mon exemple (désolé je n'avais pas vu qu'il y avait un lien vers ta page, j'ai donc inventé le code html)
SolidSnake a écrit :
Bonjour,

Le gros problème dans ton code, c'est tous tes if à la fin qui devrait être dans la fonction calcul_nap() et qui ne le sont pas.

Cf mon exemple (désolé je n'avais pas vu qu'il y avait un lien vers ta page, j'ai donc inventé le code html)


Merci Solidsnake !!