Javascript : montant total...
Bastien
-
Bastien -
Bastien -
Bonjour,
J'essaye de programmer un devis en javascript...
Je suis débutant en javascript et j'en chie comme un beau diable, passez moi l'expression !
Voici mon code, il semble qu'il y ait une erreur mais je vois pas...
Merci de votre aide par avance !
------------------------------------------------------
fonction pour le total
------------------------------------------------------
function mt_tot()
{
var tot = 0;
var px = 0;
for (n=1; n<8; n++)
{
px = document.devis.prix+n.value; (ça je ne sais pas si ça s'écrit comme ça... Je voudrais en fait que le prix+n corresponde aux prix saisis dans le formulaire dans les champs prix1,prix2,...)
tot = px + tot;
}
return tot;
}
------------------------------------------------------
Exemple de ligne du formulaire (calcul du prix*quantité, ça c OK)
------------------------------------------------------
<input type="hidden" name="type3" value="12.8">
<input type="text" name="qte_reargenture" size="2" maxlength="2" value="0" onchange="this.form.prix3.value = (this.form.type3.value*this.value)" onFocus="this.value=''">
<input type="text" name="prix3" size="8" value="0" maxlength="5" disabled>€
------------------------------------------------------
Enfin là où j'aimerai calculer le total...
------------------------------------------------------
<input type="button" name="bt_total" value="Montant total TTC de votre devis" onClick="this.form.total.value = mt_tot();">
<input type="text" name="total" size="8" maxlength="6" value="0" disabled>€
------------------------------------------------------
J'obtiens la réponse NAN dans mon champs total là où devrait apparaître le résultat !
------------------------------------------------------
PLEASE HELP !!!
J'essaye de programmer un devis en javascript...
Je suis débutant en javascript et j'en chie comme un beau diable, passez moi l'expression !
Voici mon code, il semble qu'il y ait une erreur mais je vois pas...
Merci de votre aide par avance !
------------------------------------------------------
fonction pour le total
------------------------------------------------------
function mt_tot()
{
var tot = 0;
var px = 0;
for (n=1; n<8; n++)
{
px = document.devis.prix+n.value; (ça je ne sais pas si ça s'écrit comme ça... Je voudrais en fait que le prix+n corresponde aux prix saisis dans le formulaire dans les champs prix1,prix2,...)
tot = px + tot;
}
return tot;
}
------------------------------------------------------
Exemple de ligne du formulaire (calcul du prix*quantité, ça c OK)
------------------------------------------------------
<input type="hidden" name="type3" value="12.8">
<input type="text" name="qte_reargenture" size="2" maxlength="2" value="0" onchange="this.form.prix3.value = (this.form.type3.value*this.value)" onFocus="this.value=''">
<input type="text" name="prix3" size="8" value="0" maxlength="5" disabled>€
------------------------------------------------------
Enfin là où j'aimerai calculer le total...
------------------------------------------------------
<input type="button" name="bt_total" value="Montant total TTC de votre devis" onClick="this.form.total.value = mt_tot();">
<input type="text" name="total" size="8" maxlength="6" value="0" disabled>€
------------------------------------------------------
J'obtiens la réponse NAN dans mon champs total là où devrait apparaître le résultat !
------------------------------------------------------
PLEASE HELP !!!
A voir également:
- Rolland souhaite calculer le montant total des ventes de son magasin. le fichier contient, pour chaque produit, la quantité vendue et le prix unitaire. calculez le montant total des ventes.
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondir à 2 décimales - Forum Webmastering
2 réponses
Tu peux accéder à n'importe quelle objet à partir de Document.all quand tu ne connais pas la structure exacte
document.all(TON_IDENTIFIANT).value
document.all(TON_IDENTIFIANT).value
heu.... en effet je crois que ton histoire de n.value ne te donne po vraiement ce que tu veux. En fait (si g tout compris....) c:
prixn.value ... A partir de ca, c a toi de voir comment tu peux gerer la concatenantion de n avec prix...
Voili :)
Marty(...)
prixn.value ... A partir de ca, c a toi de voir comment tu peux gerer la concatenantion de n avec prix...
Voili :)
Marty(...)
Bastien, si j'ai bien compris, tu cherches ceci :
px = document.devis.elements['prix' + n].value;
tot += px;
Et tant qu'à faire, passe aussi le formulaire à ta fonction mt_tot() :
this.form.total.value = mt_tot(this.form);
...
function mt_tot(leForm)
...
px = leForm.elements['prix' + n].value;
Et enfin, pour convertir en décimal ton champ text, utilise parseInt() mais attention, il y a quelque bug d'arrondi :o/
px = parseFloat(leForm.elements['prix' + n].value);
-= Bobinours =-
px = document.devis.elements['prix' + n].value;
tot += px;
Et tant qu'à faire, passe aussi le formulaire à ta fonction mt_tot() :
this.form.total.value = mt_tot(this.form);
...
function mt_tot(leForm)
...
px = leForm.elements['prix' + n].value;
Et enfin, pour convertir en décimal ton champ text, utilise parseInt() mais attention, il y a quelque bug d'arrondi :o/
px = parseFloat(leForm.elements['prix' + n].value);
-= Bobinours =-
document.all est reservé à IE.
Les nouveaux navigateurs suivent la norme des DOM (Document Object Model).
Pour accéder à un élément, il faut faire :
document.getElementById('ID_Element');
Pour en savoir un peu plus, voir ici : http://www.allhtml.com/forum/index.php?t=l&f=2&i=71726&u=Bobinours (Message Daté du : 14-03-2002 à 14:04)
-= Bobinours =-
Je vais m'arrêter là puisque tout fonctionne !
Ma patronne est contente, tout baigne ! ;-)
Aller @++
Bastien