Question en javascript
cyberlulu
-
cyberlulu -
cyberlulu -
Bonjour
je suis en train d'apprendre un peu le javascript et j'ai vu un script que je ne comprends pas tt à fait.
c'est un script pour vérifier qu'une personne a bien rempli un champ text par une valeur numérique dans un formulaire.
Ce que je ne comprend pas c'est pourquoi est-ce qu'on comparer comme ca valeur à parseFloat(valeur). Si j'ai bien compris, parseFloat(valeur) convertit une chaine de caractère en valeur numérique. mais quand on fait : valeur=document.forms[0].elements["saisie"].value; valeur est une chaine de caractère normalement.
donc en faisant valeur==parseFloat(valeur) on compare finalement une chaine de caractère à une valeur numérique... c'est ca que je ne comprends pas
merci d'avance pour tte réponse
je suis en train d'apprendre un peu le javascript et j'ai vu un script que je ne comprends pas tt à fait.
c'est un script pour vérifier qu'une personne a bien rempli un champ text par une valeur numérique dans un formulaire.
function test_numerique()
{
var valeur;
valeur=document.forms[0].elements["saisie"].value;
if(valeur==parseFloat(valeur)) return true;
else
{window.alert("La valeur saisie ne semble pas être correcte");
return false;
}
}
Ce que je ne comprend pas c'est pourquoi est-ce qu'on comparer comme ca valeur à parseFloat(valeur). Si j'ai bien compris, parseFloat(valeur) convertit une chaine de caractère en valeur numérique. mais quand on fait : valeur=document.forms[0].elements["saisie"].value; valeur est une chaine de caractère normalement.
donc en faisant valeur==parseFloat(valeur) on compare finalement une chaine de caractère à une valeur numérique... c'est ca que je ne comprends pas
merci d'avance pour tte réponse
A voir également:
- Question en javascript
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- A javascript error occurred in the main process - Forum Windows
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
2 réponses
a bien rempli un champ text par une valeur numérique => onvertit une chaine de caractère en valeur numérique
ta réponse est dans ta question!!
ta fonction regarde la valeur saisie
valeur <-- élément saisie
si élément = float 'réel donc élément numérique saisi
sinon mauvaise saisie
tout simplement
ta réponse est dans ta question!!
ta fonction regarde la valeur saisie
valeur <-- élément saisie
si élément = float 'réel donc élément numérique saisi
sinon mauvaise saisie
tout simplement
vérifier qu'une personne a bien rempli un champ text par une valeur numérique dans un formulaire.
ca vérifie aussi les chaine de caractere
exemple
saisie = aaaaaa
valeur=document.forms[0].elements["saisie"].value;
valeur va recevoir rien puisqu'il n'y a pas de chiffre.
on va donc a :
else
{window.alert("La valeur saisie ne semble pas être correcte");
return false;
pour t'en convaincre fait des tests!
voila voila voila
ca vérifie aussi les chaine de caractere
exemple
saisie = aaaaaa
valeur=document.forms[0].elements["saisie"].value;
valeur va recevoir rien puisqu'il n'y a pas de chiffre.
on va donc a :
else
{window.alert("La valeur saisie ne semble pas être correcte");
return false;
pour t'en convaincre fait des tests!
voila voila voila
en fait je crois kon s'est mal compris
le seul truc ke je comprends pas, c'est au niveau de la condition.
prenons un exemple. l'utilisateur saisit la valeur 12.
donc la variable valeur="12" (en chaine de caractère vu kon a fait valeur=document.forms[0].elements["saisie"].value;)
ensuite parseFloat(valeur) vaut 12
donc la condition donne if("12"=12) .....
d'après ce que j'ai compris valeur sera toujours une chaine de caractère (meme si l'utilisateur rentre un nombre, il le mettra sous forme "nombre saisi")
et donc faire ("12"=12) ca me parait bizarre
le seul truc ke je comprends pas, c'est au niveau de la condition.
prenons un exemple. l'utilisateur saisit la valeur 12.
donc la variable valeur="12" (en chaine de caractère vu kon a fait valeur=document.forms[0].elements["saisie"].value;)
ensuite parseFloat(valeur) vaut 12
donc la condition donne if("12"=12) .....
d'après ce que j'ai compris valeur sera toujours une chaine de caractère (meme si l'utilisateur rentre un nombre, il le mettra sous forme "nombre saisi")
et donc faire ("12"=12) ca me parait bizarre
valeur=document.forms[0].elements["saisie"].value;
la valeur n'est pas obligatoirement une chaine de caractère, c'est ca ?