IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Comparaison de deux variables.


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Points : 89
    Points
    89
    Par défaut Comparaison de deux variables.
    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.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    pour l'instant tu compares des chaînes caractères (les .value).
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var prix_mini = parseFloat(document.getElementById("prix_mini").value, 10);
    var prix_maxi = parseFloat(document.getElementById("prix_maxi").value, 10);
    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    en principe ceci suffit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var prix_mini = +document.getElementById("prix_mini").value;
    var prix_maxi = +document.getElementById("prix_maxi").value;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Points : 89
    Points
    89
    Par défaut
    Merci, les deux solutions fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaison de deux variables [Assembleur 8086]
    Par Benbow dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 11/06/2011, 11h37
  2. Comparaison entre deux variables avec if
    Par sbouchaibi dans le forum ASP
    Réponses: 1
    Dernier message: 04/03/2010, 12h27
  3. Réponses: 2
    Dernier message: 10/04/2009, 14h34
  4. Comparaison entre deux variables
    Par BHMath76 dans le forum ASP
    Réponses: 5
    Dernier message: 10/10/2008, 11h44
  5. Comparaison entre deux variables
    Par delavega dans le forum ASP
    Réponses: 8
    Dernier message: 23/11/2006, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo