Comparaison de deux variables.
Bonjour,
J'ai un soucis en comparant simplement deux variables qui contiennent des nombres. :oops:
Voici le script pour isoler le problème:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function valider_form_affiner(){
// Recuperation des infos de prix
var prix_mini = document.getElementById("prix_mini").value;
var prix_maxi = document.getElementById("prix_maxi").value;
// Je verifie que se sont bien des nombres.
if(!isFinite(prix_mini) || !isFinite(prix_maxi)) {
alert('Le prix mini et le prix maxi doivent être des nombres ! Prix mini = '+prix_mini+'. Prix maxi = '+prix_maxi+'.');
return false;
}
// Je verifie que prix_mini ne soit pas plus garnd que prix_maxi
else if(prix_mini > prix_maxi) {
alert('Le prix mini doit être inférieur au prix maxi ! Prix mini = '+prix_mini+'. Prix maxi = '+prix_maxi+'.');
return false;
}
// Sinon j'envoie le formulaire.
else {
alert('OK ! Prix mini = '+prix_mini+'. Prix maxi = '+prix_maxi+'.');
return false;
}
}
</script>
</head>
<body>
<form method="post" action="" onsubmit="return valider_form_affiner()" name="affiner" id="affiner">
<label for="prix_mini">Prix mini: </label>
<input name="prix_mini" id="prix_mini" type="text" size="7" maxlength="5"/>
<label for="prix_maxi">maxi: </label>
<input name="prix_maxi" id="prix_maxi" type="text" size="7" maxlength="5"/>
<input type="submit" name="BT_Mettre_A_Jour_sc" value="Valider"/>
</form>
</body>
</html> |
Ce code affiche un petit formulaire avec deux champs prix_mini et prix_maxi.
Avant l'envoi du formulaire, je vérifie en javascript que le prix mini ne soit pas plus grand que prix maxi.
Avec le code ci-dessus j'obtiens ceci:
si prix_mini=1 et prix_maxi=10: "OK ! Prix mini = 1€. Prix maxi = 10€." OK
si prix_mini=2 et prix_maxi=10: "Le prix mini doit être inférieur au prix maxi ! Prix mini = 2€. Prix maxi = 10€." PAS OK et je ne comprends pas pourquoi.
Quelqu'un pourrait-il m'éclairer ?
Merci d'avance.