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 :

Somme de variables et non concaténation


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Par défaut Somme de variables et non concaténation
    Bonjour !!

    Voici mon script :

    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">
    function changeListeDeroulante(totalCharge, chargeHH, chargeMM){ // tous les tests qui seront effectués lors de la validation du formulaire !
    	var chargesSaisies = 0 ;
    	var chargeHH1 = parseInt((chargeHH.value)*60) ;
    	var chargeMM1 = parseInt(chargeMM.value) ;
    	var chargesSaisies = parseInt(chargeHH1.value)+parseInt(chargeMM1.value) ;
    	var Total = 0 ;
    	Total = (chargesSaisies.value) + (totalCharge.value) ;
    	if ((Total.value)>600){
    		alert("1 ==>\nVous ne pouvez pas travailler plus de 10h par jour !! Total "+Total+" chargesSaisies "+(chargesSaisies.value)+" totalCharge "+(totalCharge.value)+" chargeHH1 "+chargeHH1+" chargeMM1 "+chargeMM1);
    	}
    	else{
    		alert("2 ==>\nVous ne pouvez pas travailler plus de 10h par jour !! Total "+Total+" chargesSaisies "+(chargesSaisies.value)+" totalCharge "+(totalCharge.value)+" chargeHH1 "+chargeHH1+" chargeMM1 "+chargeMM1);
    	}
    return false;
    }
    </script>
    J'appelle ce script sur un onchange dans une liste déroulante ... pour l'instant j'ai volontairement mis un return false pour que, même si ça voulait marcher, je puisse le voir de mes propres yeux ... !!

    Quand je change la valeur de ma liste déroulante j'obtiens actuellement le message d'alerte suivant :

    2 ==>
    Vous ne pouvez pas travailler plus de 10h par jour !!
    Total undefined13680
    chargesSaisies undefined
    totalCharge 13680
    chargeHH1 120
    chargeMM1 15

    Je pense donc que ça bugge au niveau de chargesSaisies quand j'essaye de faire la somme, mais je ne comprend pas du tout ce qui ne va pas !!

    Merci d'avance pour votre aide ;-)

  2. #2
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Bonjour,

    Essaye de remplacer ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Total = (chargesSaisies.value) + (totalCharge.value) ;
    par ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Total = chargesSaisies + totalCharge.value ;
    car "chargesSaisies" est une variable, tu n'a donc pas besion d'ajouter ".value" pour y accéder

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Par défaut
    Merci beaucoup pour ta réponse ... grace à toi j'ai réussi à comprendre tout ce qui m'échappait depuis hier soir !!

    Voilà mon script maintenant que j'ai fait la modif que tu m'as indiqué + quelques autres modif ... Ca marche !!
    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 language="javascript">
    function changeListeDeroulante(totalCharge, chargeHH, chargeMM){ // tous les tests qui seront effectués lors de la validation du formulaire !
    	var chargesSaisies = 0 ;
    	var chargeHH1 = parseInt((chargeHH.value)*60) ;
    	var chargeMM1 = parseInt(chargeMM.value) ;
    	var chargesSaisies = chargeHH1+chargeMM1 ;
    	var Total = 0 ;
    	var chargesExistantes= parseInt(totalCharge.value) ;
    	Total = chargesSaisies + chargesExistantes ;
    	if ((Total.value)>600){
    		alert("1 ==>\nVous ne pouvez pas travailler plus de 10h par jour !! Total "+Total+" chargesSaisies "+(chargesSaisies.value)+" totalCharge "+(totalCharge.value)+" chargeHH1 "+chargeHH1+" chargeMM1 "+chargeMM1);
    	}
    	else{
    		alert("2 ==>\nVous ne pouvez pas travailler plus de 10h par jour !! Total "+Total+" chargesSaisies "+chargesSaisies+" totalCharge "+(totalCharge.value)+" chargeHH1 "+chargeHH1+" chargeMM1 "+chargeMM1);
    	}
    return false;
    }
    </script>
    Encore merci !!

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

Discussions similaires

  1. Additionner 2 variables et non les concaténer
    Par Phenol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/03/2009, 10h45
  2. Variable générale non trouvée dans une fonction
    Par mickael.be dans le forum Langage
    Réponses: 10
    Dernier message: 21/02/2006, 19h18
  3. somme de variables de type date
    Par tounsi dans le forum Oracle
    Réponses: 28
    Dernier message: 12/01/2006, 15h42
  4. variables php non recharges dans flash
    Par TekiNico dans le forum Flash
    Réponses: 2
    Dernier message: 10/01/2006, 23h40
  5. Variables javascript non correctement définies
    Par LLaurent dans le forum XMLRAD
    Réponses: 5
    Dernier message: 11/05/2004, 12h39

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