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 :

Faire des calculs automatiques en JavaScript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 64
    Points
    64
    Par défaut Faire des calculs automatiques en JavaScript
    Bonjour tout le monde,

    J'ai un tableau avec des articles et pour chaque article il y a un prix, sur la droite du prix un champ quantité. J'aimerais que lorsque la personne entre 12, ça écrive ailleurs sur la page 12*le prix. Et s'il y a plusieurs articles, que ça fasse l'addition. Savez-vous comment faire ??

  2. #2
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    Ben sur le onChange de ton champ tu modifies la valeur du champ contenant le total en multipliant le prix unitaire que tu récupères dans ton tableau par la valeur entrée.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 64
    Points
    64
    Par défaut
    Merci pour ton conseil, j'en ai fais (moi-même et c'est ma première) une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script language="Javascript">
    	function total() {
    	var recordcount=document.form_offre.recordcount.value
    	document.form_offre.total.value=(document.form_offre.art_prix_hidden1.value*document.form_offre.quantite1.value)
    	for(i=2, i<recordcount+1, i++) {
    		+(document.form_offre.art_prix_hidden"+i+".value*document.form_offre.quantite"+i+".value);
    		}
    	}
    </script>
    Et sur mon champ quantité j'appelle la fonction. Autant vous dire tout de sutie que ça ne marche pas. Rien ne s'affiche dans le total. Une idée ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 64
    Points
    64
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var v_test=1;
    document.form_offre.total.value="document.form_offre.art_prix_hidden1.value*document.form_offre.quantite'+test+'.value"
    Je pense que mon problème vient de la concaténation. J'ai changé mon code pour le tester (voir plus haut) et ça ne marche pas !!! Comment faire une concaténation ???

  5. #5
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('total').value = parseFloat(document.getElementById('art_prix_hidden1').value) * parseFloat(document.getElementById('quantite'+test).value);
    et ca ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 64
    Points
    64
    Par défaut
    M
    E
    R
    C
    I

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    J'ai avancé d'un pas !!! Merci bcp sincèrement !!

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 64
    Points
    64
    Par défaut
    Voici donc la dernière version de ma fonction (qui ne marche toujours pas). J'aimerais que tout ce qu'il y a à l'intérieur du for se mette à la suite de la 4ème ligne. Comment est-ce possible ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script language="Javascript">
    	function fun_total() {
    	var recordcount=document.form_offre.recordcount.value
    	document.getElementById('total').value = (parseFloat(document.getElementById('prix1').value) * parseFloat(document.getElementById('quantite1').value));
    	for(i=2, i<recordcount+1, i++) {
    		+(parseFloat(document.getElementById('prix'+i).value) * parseFloat(document.getElementById('quantite'+i).value))
    		}
    	}
    </script>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 97
    Points : 64
    Points
    64
    Par défaut
    WOHOUUU JE SUIS UNE STAR !!! :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script language="Javascript">
    	function fun_total() {
    	v_recordcount=parseFloat(document.getElementById('recordcount').value)+1;
    	v_total=(parseFloat(document.getElementById('prix1').value) * parseFloat(document.getElementById('quantite1').value));
    	for(i=2; i<v_recordcount; i++) {
    		v_total+=(parseFloat(document.getElementById('prix'+i).value) * parseFloat(document.getElementById('quantite'+i).value));
    		}
    	document.getElementById('total').value=v_total;
    	}
    </script>
    Ca fonctionne, je suis trop bon !!!

    Merci à ceux qui m'ont aidé !

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

Discussions similaires

  1. [JDOM] Faire des calculs
    Par calimero2611 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 10/07/2006, 20h32
  2. [formulaire] faire des calculs
    Par gyzmo5 dans le forum IHM
    Réponses: 7
    Dernier message: 08/02/2006, 13h43
  3. utiliser données texte pour faire des calculs
    Par sarah67 dans le forum Access
    Réponses: 20
    Dernier message: 06/02/2006, 14h09
  4. Réponses: 8
    Dernier message: 18/09/2002, 03h20

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