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 :

Valeur de retour d'un petit calcul "NaN"


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Valeur de retour d'un petit calcul "NaN"
    Bonsoir,

    J'ai fait une petite fonction de calcul sur une saisie de 6 montants : comme ceci :
    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
    <script language="JavaScript" type="text/javascript">
    function calculeSomme(un, deux, trois, quatre, cinq, six)
    {
    	var somme = 0 ;
     
    	un = parseFloat(un) ;
    	deux = parseFloat(deux) ;
    	trois = parseFloat(trois) ;
    	quatre = parseFloat(quatre) ;
    	cinq = parseFloat(cinq) ;
    	six = parseFloat(six) ;
     
    	somme = un + deux + trois + quatre + cinq + six ;
     
    	document.maj.gest_points.value = somme; ;
    }
    </script>
    code de mon formulaire de saisie :
    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
    <input type="text" name="maj_pts_logement" id="maj_pts_logement" size="5" title="Veuillez saisir un nombre de points" value="{$majeur.maj_pts_logement}" 
    			onChange="calculeSomme(document.getElementById('maj_pts_logement'),document.getElementById('maj_pts_personne'),document.getElementById('maj_pts_gestion'),
    								   document.getElementById('maj_pts_temps'), document.getElementById('maj_pts_new_dossier'),document.getElementById('maj_pts_hors_norme'))"
    			onfocus="this.className='focus';" onblur="this.className='normal';">
    			<input type="text" name="maj_pts_personne" id="maj_pts_personne" size="5" title="Veuillez saisir un nombre de points" value="{$majeur.maj_pts_personne}" 
    			onChange="calculeSomme(document.getElementById('maj_pts_logement'),document.getElementById('maj_pts_personne'),document.getElementById('maj_pts_gestion'),
    								   document.getElementById('maj_pts_temps'), document.getElementById('maj_pts_new_dossier'),document.getElementById('maj_pts_hors_norme'))"
    			onfocus="this.className='focus';" onblur="this.className='normal';">
    			<input type="text" name="maj_pts_gestion" id="maj_pts_gestion" size="5" title="Veuillez saisir un nombre de points" value="{$majeur.maj_pts_gestion}" 
    			onChange="calculeSomme(document.getElementById('maj_pts_logement'),document.getElementById('maj_pts_personne'),document.getElementById('maj_pts_gestion'),
    								   document.getElementById('maj_pts_temps'), document.getElementById('maj_pts_new_dossier'),document.getElementById('maj_pts_hors_norme'))"
    			onfocus="this.className='focus';" onblur="this.className='normal';">
    			<input type="text" name="maj_pts_temps" id="maj_pts_temps" size="5" title="Veuillez saisir un nombre de points" value="{$majeur.maj_pts_temps}" 
    			onChange="calculeSomme(document.getElementById('maj_pts_logement'),document.getElementById('maj_pts_personne'),document.getElementById('maj_pts_gestion'),
    								   document.getElementById('maj_pts_temps'), document.getElementById('maj_pts_new_dossier'),document.getElementById('maj_pts_hors_norme'))"
    			onfocus="this.className='focus';" onblur="this.className='normal';">
    			<input type="text" name="maj_pts_new_dossier" id="maj_pts_new_dossier" size="5" title="Veuillez saisir un nombre de points" value="{$majeur.maj_pts_new_dossier}" 
    			onChange="calculeSomme(document.getElementById('maj_pts_logement'),document.getElementById('maj_pts_personne'),document.getElementById('maj_pts_gestion'),
    								   document.getElementById('maj_pts_temps'), document.getElementById('maj_pts_new_dossier'),document.getElementById('maj_pts_hors_norme'))"
    			onfocus="this.className='focus';" onblur="this.className='normal';">
    			<input type="text" name="maj_pts_hors_norme" id="maj_pts_hors_norme" size="5" title="Veuillez saisir un nombre de points" value="{$majeur.maj_pts_hors_norme}" 
    			onChange="calculeSomme(document.getElementById('maj_pts_logement'),document.getElementById('maj_pts_personne'),document.getElementById('maj_pts_gestion'),
    								   document.getElementById('maj_pts_temps'), document.getElementById('maj_pts_new_dossier'),document.getElementById('maj_pts_hors_norme'))"
    			onfocus="this.className='focus';" onblur="this.className='normal';">
    			<input type="text" name="gest_points" id="point" size="5"  value="{$gest_points}" 
    			onfocus="this.className='focus';" onblur="this.className='normal';">
    Comme résultat, je récupère "NaN" quelque soit les nombres saisies

    Je n'ai pas d'anomalie selon mon débuggueur (firebug).

    Je ne vois pas l'erreur, une idée ?

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salut, tu passes directement les elements dans les arguments de calculerSomme()
    Il faudrait acceder à la propriété value de ces champs pour avoir le nombre qui s'y trouvait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	un = parseFloat(un.value) ;
    	deux = parseFloat(deux.value) ;
    	trois = parseFloat(trois.value) ;
    	quatre = parseFloat(quatre.value) ;
    	cinq = parseFloat(cinq.value) ;
    	six = parseFloat(six.value) ;

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Merci, c'est tout bon.

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

Discussions similaires

  1. [VB6] Valeur de retour pour une Form
    Par preverse dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/08/2004, 17h16
  2. Valeur de retour d'une procédure externe
    Par elekis dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 16/04/2004, 16h45
  3. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58

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