Farfadam
Messages postés46Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention14 mai 2008
-
11 mai 2008 à 18:53
Farfadam
Messages postés46Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention14 mai 2008
-
14 mai 2008 à 19:24
Bonjour à tous,
je me permets de faire appel à vous, car là je sèche.
Je cherche à faire la somme de nombreux input.
Pour être plus clair, j'ai quelque chose comme ça :
Pour éviter d'avoir un script de 5 km de long,
je cherche une fonction "générale" de façon à avoir quelque chose comme ça dans l'input où je veux ma somme :
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 11:55
calcul est pas tout bon ?
est-ce que tu remet à 0 la zone receptrice ?
...
function additione_moi_les_champ()
{ document.form1[additione_moi_les_champ.arguments[0]].value=0;
for ( var n=1; n < additione_moi_les_champ.arguments.length; n++ )
{ ...
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 10:07
j'ai omis de préciser qu'il fallait mettre :
<form id="form1"
name="form1" >
et que, probablement, une remise à 0 avant les additions
sera utile.
<hr />
Cordialement Bul [mon Site] [M'écrire]
Farfadam
Messages postés46Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention14 mai 2008 12 mai 2008 à 10:43
Merci,
mais j'ai un petit soucis,
pour simplifier, j'ai essayé d'adapter le script de la façon suivante :
<script type="text/javascript">
function additione_moi_les_champ(ou)
{ for ( var n=1; n < additione_moi_les_champ.arguments.length; n++ )
{ document.form1[additione_moi_les_champ.arguments[0]].value =
Number(document.form1[additione_moi_les_champ.arguments[0]].value)+
Number(document.form1[additione_moi_les_champ.arguments[n]].value);
}
}
</script>
<form id="form1" name="form1">
</form>
...de façon à ce que le résultat s'affiche automatiquement dans le champ "total",
mais visiblement c'est pas comme ça qu'on doit faire parce que ça ne marche pas...
Une petite idée ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 10:57
quelques petites imprécisions....
function additione_moi_les_champ() // paramètre inutile
'additione_moi_les_champ (
"total", puisque la fonction attend le récepteur en 1er paramètre
on peut bien entendu faire autrement !
"investissement",
"fonctionnement",
"ventes",
"sorties"); ' /> attention aux " et ', sinon l'interpréteur s'y pomme
mais tout ça sont des erreurs de syntaxe ! signalées !
FireFox
, regarder la "console d'erreurs"
Outils / Console d'erreurs
et mieux : télécharger mon Site] [M'écrire]
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 10:59
j'ai oublié de dire aussi que le calcul est déclenché par onkeyup....
ce qui veut dire qu'il faut saisir un caractère dans total pour
faire le calcul.... curieux, mais si cela te convient !
<hr /> Cordialement Bul [mon Site] [M'écrire]
Farfadam
Messages postés46Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention14 mai 2008 12 mai 2008 à 11:13
oui effectivement, quelques petites erreurs d'imprecision (erreurs de débutant )
bon alors maintenant ça marche mieux,
juste une dernière chose, comme tu le signal toi même, pour qu'un résultat s'affiche, on est obligé de rentrer quelque chose dans le champ "total", comment remedier à cela de manière à ce que le résultat s'affiche tout seul ?
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 11:23
>>comment remedier à cela de manière à ce que le résultat s'affiche tout seul ?
peut-être onkeyup sur les champs de saisie
"investissement", "fonctionnement", "ventes", "sorties"
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 11:58
>>pas si facile que ça le javaScript.
comme tous les langages
pour javascript, "simple" pour débuter,
il se complexifie ( et sérieusemeny ) quand on approndit.
mais ici, pas un problème de langage à priori.
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 12:00
d'ailleurs dès que tu seras au point,
il faudrait éviter de répéter la même chose sur les champs de saisie....
fait ça en dynamique par exemple, en POO aussi pourquoi pas....
<hr /> Cordialement Bul [mon Site] [M'écrire]
Farfadam
Messages postés46Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention14 mai 2008 12 mai 2008 à 13:08
Merci beaucoup pour toutes ces precieuses information (ça me retire une grosse épine du pied)
Par contre dans ton dernier message tu parles de faire ça en "dynamique" ou en "POO"
qu'est ce que c'est que ça ?
Tu peux m'en dire un peu plus ?
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 13:42
quand, en informatique, on répète les choses plusieurs fois....
( c'est le cas ici avec les onkeyup sur les champs de saisie )
"ce n'est pas normal". on doit pouvoir automatiser ça.
la "Programmation Orientée Objet" n'est pas à mettre à
toutes les sauces, systématiquement, enfin, ce n'est que
mon avis, mais est "bien plus qu'utile"... souvent.
bref, en dynamique, tu devrais pouvoir faire :
élément.onkeyup=function() { du javascript }
tant qu'à la POO, ce serait un peu long à expliquer ici,
mais parfaitement adapté ( ici aussi )
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 mai 2008 à 18:38
tu as changé le script originel ?
il y était prévu que le résultat allait dans le 1er paramètre.
à priori, ici tu le donnes en dernier. pas trsè compliqué
de modifier le js, mais encore faut-il le faire si tu tiens
à que ce soit comme ça.
<hr /> Cordialement Bul [mon Site] [M'écrire]