OVH Cloud OVH Cloud

somme impossible !!?

13 réponses
Avatar
METIS
Bonjour,
un petit coup de main pour un nuloss :

J'ai ça :

<SCRIPT LANGUAGE="JavaScript">
function devis() {
q=document.form.quantite.value;
l=document.form.largeur.value;
h=document.form.hauteur.value;
s=document.form.support.value;
m=document.form.montage.value;
t=q*l*h*(s+m);
document.form.total.value=t
}
</SCRIPT>

...et ça part dans un champ
<INPUT TYPE="text" NAME="total" value="" SIZE="30">

Ca calcule que les produits mais ça me met les 2 valeurs additionnées
cote à cote et pas en somme !!!

Par exemple :
q=1
l=1
h=1
s=38
m=10

Ca donne... 3810 !!!!!

Scusez-moi, chui nul en codage !!!

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...

10 réponses

1 2
Avatar
O.L.
METIS avait écrit le 04/11/2005 :
Bonjour,
un petit coup de main pour un nuloss :

J'ai ça :

<SCRIPT LANGUAGE="JavaScript">
function devis() {
q=document.form.quantite.value;
l=document.form.largeur.value;
h=document.form.hauteur.value;
s=document.form.support.value;
m=document.form.montage.value;
t=q*l*h*(s+m);
document.form.total.value=t
}
</SCRIPT>

...et ça part dans un champ
<INPUT TYPE="text" NAME="total" value="" SIZE="30">

Ca calcule que les produits mais ça me met les 2 valeurs additionnées
cote à cote et pas en somme !!!

Par exemple :
q=1
l=1
h=1
s8
m

Ca donne... 3810 !!!!!

Scusez-moi, chui nul en codage !!!


Essaie en mettant :

t=q*l*h*(parseFloat(s)+parseFloat(m));

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
YD
Ton problème est un classique de la polysémie
du + en javascript !

<script type="text/javascript">
function devis() {
q=+document.form.quantite.value;
l=+document.form.largeur.value;
h=+document.form.hauteur.value;
s=+document.form.support.value;
m=+document.form.montage.value;
t=q*l*h*(s+m);
document.form.total.value=t
}
</script>

Le + unaire va transformer les valeurs chaînes en nombres
(les éléments de formulaires renvoient des chaînes pas des
nombres).


--
Y.D.
Avatar
METIS
O.L. wrote:

Essaie en mettant :

t=q*l*h*(parseFloat(s)+parseFloat(m));


==>Alors là, je dis chapeau !!!
Je risquais pas de trouver tout seul ni en lisant les docs ; j'y étais
depuis au moins 2 ou 3h, et je ne trouvais rien !!!

Si j'ai d'autres sommes à ajouter, je fais pareil ?
Ca va vite devenir imbitable (pour moi, mais bon...)

En tout cas donc : grand merci !!

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...

Avatar
METIS
YD wrote:

Le + unaire va transformer les valeurs chaînes en nombres
(les éléments de formulaires renvoient des chaînes pas des
nombres).


==>Ouhatchapa !!!! Ch'teul'fais pas dire !!!(;o)))))))))

Vais essayer de continuer car il y a d'autres éléments !
Enfin, avec le truc indiqué par O.L., ça marche.

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...

Avatar
O.L.
O.L. wrote:

Essaie en mettant :

t=q*l*h*(parseFloat(s)+parseFloat(m));


==>Alors là, je dis chapeau !!!
Je risquais pas de trouver tout seul ni en lisant les docs ; j'y étais depuis
au moins 2 ou 3h, et je ne trouvais rien !!!

Si j'ai d'autres sommes à ajouter, je fais pareil ?


Bah, a priori oui.

La fonction parseFloat() prend une chaine de caractère ('1.234') et
renvoie un nombre décimal (1.234), donc elle peut servir à convertir un
nombre en une chaine.
Mais c'est une méthode parmi d'autres, dont on avait discuté dans un
précédent thread il y a quelques temps (je ne retrouve plus la réf,
dsl).

@+

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net


Avatar
METIS
O.L. wrote:

Essaie en mettant :
t=q*l*h*(parseFloat(s)+parseFloat(m));


Au fait :
Pourquoi ça marche avec ça :
m=k*(t/100)/(1-Math.pow((1+t/100/12),(-n)))/12;

-Oui, comme j'y connais pas grand chose, j'ai pompé ce petit
calculateur en JS que j'ai adapté à mes besoins.
http://trucsmaths.free.fr/js_emprunt.htm
Dans la formule, il y a des sommes, des produits, même des
puissances... et le + ne gêne pas, alors pourquoi ?

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...

Avatar
YD
YD wrote:

Le + unaire va transformer les valeurs chaînes en nombres
(les éléments de formulaires renvoient des chaînes pas des
nombres).



==>Ouhatchapa !!!! Ch'teul'fais pas dire !!!(;o)))))))))

Vais essayer de continuer car il y a d'autres éléments !
Enfin, avec le truc indiqué par O.L., ça marche.


Tu n'as pas dû bien lire car "mon truc" marche tout aussi
bien que celui d'OL, est plus court et sert à ça en js !

q=+document.form.quantite.value;

note le + s'appliquant à un seul argument (il est donc unaire...)
Au fait le script dans mon message était une reprise corrigée
du tien.

Au plaisir.

--
Y.D.


Avatar
O.L.
METIS avait écrit le 04/11/2005 :
O.L. wrote:

Essaie en mettant :
t=q*l*h*(parseFloat(s)+parseFloat(m));


Au fait :
Pourquoi ça marche avec ça :
m=k*(t/100)/(1-Math.pow((1+t/100/12),(-n)))/12;

-Oui, comme j'y connais pas grand chose, j'ai pompé ce petit calculateur en
JS que j'ai adapté à mes besoins.
http://trucsmaths.free.fr/js_emprunt.htm
Dans la formule, il y a des sommes, des produits, même des puissances... et
le + ne gêne pas, alors pourquoi ?


Au niveau de 1+t/100/12, le signe + additionne le nombre 1 et
(t/100/12) qui pour lui est un nombre.
En effet, t est une chaine, mais lorsque l'on s'en sert dans un calcul
(ici deux divisions successives) le résultat final est bien un nombre.


--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net


Avatar
METIS
YD wrote:
.../...

Tu n'as pas dû bien lire car "mon truc" marche tout aussi
bien que celui d'OL, est plus court et sert à ça en js !

q=+document.form.quantite.value;

note le + s'appliquant à un seul argument (il est donc unaire...)
Au fait le script dans mon message était une reprise corrigée
du tien.


==> D'accord, d'accord...
Chui pas très doué, faut tout me dire !!(;o)))))))))))

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...

Avatar
METIS
O.L. wrote:

Au niveau de 1+t/100/12, le signe + additionne le nombre 1 et
(t/100/12) qui pour lui est un nombre.
En effet, t est une chaine, mais lorsque l'on s'en sert dans un
calcul
(ici deux divisions successives) le résultat final est bien un
nombre.


==>Eh bé, vu mon niveau dans le codage, j'en ai bien pour WE à
analyser !!
Merci en tout cas !(;o)))))

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...

1 2