Bonjour,

J'ai un soucis en comparant simplement deux variables qui contiennent des nombres.

Voici le script pour isoler le problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.