Bonjour,
J'ai un soucis en comparant simplement deux variables qui contiennent des nombres.
Voici le script pour isoler le problème:
Ce code affiche un petit formulaire avec deux champs prix_mini et prix_maxi.
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>
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.
Partager