Le problème ici est que
parseInt() returne "NaN" (= Not a Number) lorsqu'on lui fournit une chaîne vide, ou une chaîne dont le 1er caractère n'est pas un chiffre.
Voir :
http://www.toutjavascript.com/reference ... rseint.php
https://developer.mozilla.org/en-US/doc ... s/parseInt
Juste après cette ligne (vers la ligne 70 du script, dans
CalculerTotal())
il suffit de rajouter :
et la suite du code peut fonctionner sans avoir à gérer/afficher des "NaN".
Idem pour les 2 autres groupes de champs fonctionnant sur le même principe.
Attention par contre, ce qui suit, vers la fin de
CalculerTotal() ne fonctionne pas (affiche l'alerte même si tous les champs sont correctement renseignés avec des nombres), là tu testes si
le champ est un nombre, alors que j'imagine que tu voudrais plutôt tester si
la valeur du champ, si elle n'est pas vide, et convertie en entier avec parseInt(), est un nombre.
Code : Tout sélectionner
if((isNaN(nbpl1))||(isNaN(nbpl2))||(isNaN(npbl3))){
alert("Veuillez entrer une quantité en chiffre");
}