Forum Clubic

Calcul dynamique? - Comment calculer un resultat en temps ré

Bonjour.

mon petit probleme :

J’ai un formulaire html qui contient 6 cases en ligne, j’aimerais en rajouter une 7° qui affiche automatiquement,ce dès que l’on change une valeur de n’importe laquelle des 6 case, la somme (ou toute autre formule là n’est pas le pbl).

en fait, le souci que j’ai, c’est que j’ai cherché un moyen mais je n’ai pas trouvé.
vous me direz, j’ai du mal chercher, mais franchement, je vois pas comment faire.

faut il utiliser une actualisation automatique de la page? ou alors, y’a t’il un bout de code a faire?

merci de m’aider.

merci de préciser le langage dans le titre :jap:

sinon, regarde du coté du javascript :slight_smile:

ton bloc "somme"

<input type="text" … id="somme" style="display:none">

et tes 6 autres blocs

<input … onChange="getElementById[‘somme’].display = ‘block’; ">

Je suis pas certain de la syntaxe, mais c’est pas loin. (j’ai pas testé)

t t t

Ca marche pas ça.

<script type="text/javascript">
var ids = ["id1", ..., "id6"];
function sumIt() {
  var s;
  for ( var i = 0; i < ids.length; i++ ) {
    s += parseFloat(document.getElementById(ids[i]).value);
  }
  document.getElementById('somme').value = s;
}
</script>

<input type="text" name="somme" value="0" />
<input type="text" id="id1" onchange="sumIt();" />
...
<input type="text" id="id6" onchange="sumIt();" />

Paf.

document.[b]getElementById/b.value = s;

et

<input type="text" name="somme" value="0" />

ça fonctionne ?

EDIT: non, ça marche pas :o

Vi c’est id=“somme”

oué, alors, j’ai pas tout compris, mais a voir, c’est faisable.

maintenant, un peu plus complexe :

il faut faire la somme, ensuite, multiplier le resultat par 52 et le diviser par 12…

en gros, ca fait une mensualisation quoi.

faisable?

dans la fonction de sans-nom, il y a une affectation de la valeur de ton champ resultat qui est affecté à la valeur de s, il suffit de faire ces calculs sur s avant l’affectation :slight_smile:

genre :

document.getElementById(‘somme’).value = (52/12)*s;

Et bien, je vous remercie tous, vous m’avez sauvé la vie, sinon, il aurais fallu que je mette nu bouton “calculer” avec un code php de calcul, pas plus dur, mais moins pratique a l’usage.

encore une fois merci clubic!

Tu peux mettre le langage dans le titre? (ici: [html/javascript])