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 :

Calcul automatique javascript


Sujet :

JavaScript

Vue hybride

theo63 Calcul automatique javascript 05/03/2012, 12h05
vermine Bonjour, Lorsque vous... 05/03/2012, 12h13
SpaceFrog value="<?php echo... 05/03/2012, 12h58
theo63 Merci pour vos réponses. Je... 05/03/2012, 15h24
vermine Le récupérer à partir de... 05/03/2012, 15h34
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par défaut Calcul automatique javascript
    Bonjour à tous, j'utilise dans un formulaire la fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!--
    	function sum_elements(){
    	   var somme=0;
    	   var result = document.getElementById('somme');
    	   for(var i = 1; i<=6; i++){
    	      var element = document.getElementById('total'+i);
    	      if(element.value!='' && !isNaN(element.value)){
    	         somme += parseFloat(element.value);
    	      }
    	   }
    	   result.value = somme;
    	}
    	//-->
    Elle me sert à faire un calcul automatique que j'affiche comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Total pour 1 chambre <input id="somme" name="somme" type="text" size="8" value="<?php echo"$total_chambres";?>">
    Je demande dans le formulaire combien de chambre sont concernées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nombre de chambres <input onblur="calculTch()" name="nbre_ch" type="text" size="1" value="<?php echo"$nbre_ch";?>">
    Et je calcul comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!--
    	function calculTch()
    	{
    	var total_tchambres= document.getElementById("formulaire").elements["nbre_ch"].value * document.getElementById("formulaire").elements["total_chambres"].value;
    	document.getElementById("formulaire").elements["total_tchambres"].value=total_tchambres;
    	}
    	//-->
     
    <input type="hidden" name="total_chambres" value="<?php echo"$total_chambres";?>" size="20" onblur="calculTch()">
     
    <input id="total_tchambres" name="total_tchambres" type="text" size="8" value="<?php echo"$total_tchambres";?>">
    Mon problème, le calcul se fait automatiquement mais sur la valeur enregistrée dans la base de donnée "$total_chambres" et non sur le résultat de "somme" qui est le résultat du calcul automatique..

    Pouvez-vous m'aider à résoudre ce problème?
    Merci d'avance.

  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
    Bonjour,

    Lorsque vous écrivez ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value="<?php echo"$total_chambres";?>"
    vous récupérez la valeur donnée par le serveur lors du chargement de la page.

    En fait, dans votre fonction sum_elements(), vous devriez affecter le résultat au champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("somme").value = somme;
    Je n'ai pas bien compris quand et comment vous appeliez cette fonction, d'ailleurs.
    Et mettre un onblur sur un champ hidden ne fera pas grand chose.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value="<?php echo $total_chambres ;?>";
    voire même si c'est du numérique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value=<?php echo $total_chambres ;?>;
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par défaut
    Merci pour vos réponses. Je ne sait pas si j'ai compris, j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!--
    	function sum_elements(){
    	   var somme=0;
    	   var result = document.getElementById("somme").value = somme;
    	   for(var i = 1; i<=6; i++){
    	      var element = document.getElementById('total'+i);
    	      if(element.value!='' && !isNaN(element.value)){
    	         somme += parseFloat(element.value);
    	      }
    	   }
    	   result.value = somme;
    	}
    	//-->
    Mais la le calcul ne se fait plus.
    Je vais poser la question autrement: comment récupérer "somme " à la place de "$total_chambres" dans la ligne ci-dessous?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="total_chambres" value="<?php echo"$total_chambres";?>" size="20" onblur="calculTch()">

  5. #5
    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 récupérer à partir de quand (quelle action ?) ? Vous voulez vraiment avoir ce résultat dans un champ hidden ?

    L'instruction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("somme").value = somme;
    va positionner le valeur somme dans le champ d'id somme. La valeur somme est calculée dans votre fonction, donc cette instruction doit être en fin de fonction. Mais bon, apparemment ce n'est pas dans le champ somme que vous désirez cela.

  6. #6
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par défaut
    Je m'explique mal,
    Dans un premier temps je fait la somme pour une chambre : "$total_chambres".
    Je voudrais dans un deuxième temps multiplier ce résultat par le nombre de chambres. Je ne tient pas spécialement à ce le récupérer dans un champ hidden, j'avais utiliser cette façon pour effectuer le calcul.

Discussions similaires

  1. calcul automatique javascript
    Par groskanel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/05/2011, 17h29
  2. effectuer un calculs automatique??
    Par annajoul dans le forum Access
    Réponses: 1
    Dernier message: 30/05/2006, 10h41
  3. CEdit et calcul automatique d'une expression réelle
    Par youngkoolboy dans le forum MFC
    Réponses: 8
    Dernier message: 03/05/2006, 19h38
  4. [VBA-E] calculs automatique sur une seule feuille
    Par repié dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2006, 11h53
  5. Faire des calculs automatiques en JavaScript
    Par yoyot dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/02/2005, 10h31

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