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 valeur dans mon formulaire


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par d�faut Comparaison de valeur dans mon formulaire
    Bonjour � tous, j'ai un petit probl�me sur la comparaison de valeur dans mon formulaire. Je voudrais alerter par message si la valeur du champ_1 <=champ_2. J'ai d�j� r�cuper� la valeur de chaque champs mais le resultat de comparaison semble incorrect si mes valeurs sont comme: champs_1= 329 et champ_2=89 � savoir si le premier caract�re du champ_2 est sup�rieur au 1�r caract�re du champ_2. Voici mes codes:

    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
    <script>
    function difference()
    {
    	var champ_1=(document.getElementById('champ_1').value);
    	var champ_2=(document.getElementById('champ_2').value);
     
    	if(champ_1<=champ_2)
    	{
    	        alert("Le champ_2 doit être inférieur au champ_1");		        uploadForm.champ_2.focus();
                         return false;
    	}
    }
    </script>
    <body><form action="recep.php" method="post" name="uploadForm" >
    <input type="text" size="43" name="champ_1" id="champ_1"  onKeyPress="chiffres(event)">
    <input type="text" size="43" name="champ_2" id="champ_2" onFocus="difference()" onBlur="difference()" onKeyPress="chiffres(event)">
    <input type="submit" value="Valider" id="uploadSubmit"/>
    </body>
    Aidez-moi mes amis

  2. #2
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut Le Var, la C�te d'Azur � l'�tat pur
    Bonjour et bienvenue cher "ami".

    Ce qu'il faut savoir avec le Javascript c'est qu'on ne pr�cise pas un type de donn�es lors de la d�claration d'une variable (m�me si on peut quand m�me le forcer, mais ce n'est pas n�cessaire):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    var UneVariable = "blabla bla"; //var n'est pas un type de donn�es.
    //Dans cette exemple, le type sera la chaine de caract�re de part la nature de la valeur que je lui ai donn�
    Donc, lorsque vous faites votre comparaison, le Javascript d�cide comme un grand de comparer deux chaines de caract�res (c'est son r�flexe bien souvent). Pour pr�ciser que vous jouer avec des nombres, vous devez lui signifier:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    //Entier en base dix, pour nous
    champ_1 = parseInt(champ_1, 10);
     
    //Ou bien des nombres à virgules:
    champ_1 = parseFloat(champ_1);

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Salut et bienvenue.

    C'est une erreur assez classique.
    Tes champs de formulaire sont de type chaine, donc ta comparaison se fait par ordre alphab�tique, pas num�rique.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if((+champ_1)<=(+champ_2))
    Le + devant la variable transforme sa valeur en num�rique.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut xD
    Ha ben �a vaut la peine que je me tripote les m�ninges.

  5. #5
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par d�faut Merci
    Merci beaucoup pour votre aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 14
    Dernier message: 26/04/2006, 23h14
  2. Affectation d'une valeur dans un formulaire
    Par japz dans le forum G�n�ral JavaScript
    R�ponses: 13
    Dernier message: 07/03/2006, 15h02
  3. Valeur dans champ formulaire
    Par dbi dans le forum Access
    R�ponses: 5
    Dernier message: 18/02/2006, 01h18
  4. R�ponses: 4
    Dernier message: 01/09/2004, 16h56

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