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:
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
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:
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:
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); |