Bonjour à tous,
Je déteste le Javascript. Voilà, c'est dit. Je me suis toujours arraché les cheveux dessus et on ne s'entend pas bien lui et moi. Manque de bol, pour certains trucs, on ne peut pas s'en passer et c'est justement le cas en ce moment. Sauf que ça ne marche pas bien et j'ai donc besoin de vos lumières.
OBJECTIF :
Effectuer des calculs sur plusieurs champs de formulaire et au fur et à mesure de la saisie de l'utilisateur.
CE QUI A ETE FAIT :
Pour le moment, j'ai un script qui fonctionne très bien et voilà donc ce que j'ai fait :
Une partie de l'un de mes formulaires :
La fonction JS associés :
Là, vous allez peut-être me demander pourquoi ces éléments sont dans un tableau et en fait c'est parce que ces champs ne sont pas tous seuls dans mon formulaire et que j'ai une trentaine de lignes identiques et qui respectent la même structure. Et on en vient donc à mon problème...
MON PROBLEME :
Le script cité plus haut fonctionne parfaitement. Sauf que voilà, des lignes comme celle-ci, j'en ai une trentaine dans mon tableau et j'ai donc créé tout autant de fonctions. Ce que je voudrais mettre en place, en fait, c'est genre une fonction "calcul()" qui soit réutilisable pour tous mes calculs histoire d'alléger et de simplifier au maximum mon code. Je pensais pendant un moment à essayer de récupérer les valeurs des champs de chaque ligne et à les balancer ensuite dans les arguments de la fonction mais j'avoue que j'ai vraiment beaucoup de mal.
Bref, si quelqu'un s'y connait mieux que moi en matière de Javascript (et ce n'est pas très dur), ce serait cool qu'il me vienne en aide. Par contre, j'suis vraiment un gros en la matière donc faudra bien prendre le temps de m'expliquer le machin
Je déteste le Javascript. Voilà, c'est dit. Je me suis toujours arraché les cheveux dessus et on ne s'entend pas bien lui et moi. Manque de bol, pour certains trucs, on ne peut pas s'en passer et c'est justement le cas en ce moment. Sauf que ça ne marche pas bien et j'ai donc besoin de vos lumières.
OBJECTIF :
Effectuer des calculs sur plusieurs champs de formulaire et au fur et à mesure de la saisie de l'utilisateur.
CE QUI A ETE FAIT :
Pour le moment, j'ai un script qui fonctionne très bien et voilà donc ce que j'ai fait :
Une partie de l'un de mes formulaires :
<tr>
<td><label>Produit 1</label></td>
<td><input type="text" id="champ1" name="champ1" value="1.55" readonly /></td>
<td><input type="text" id="champ2" name="champ2" value="" onChange="fonction1();" /></td>
<td><input type="text" id="total1" name="total1" value="" readonly /></td>
</tr>
La fonction JS associés :
function fonction1() {
var variable1 = document.getElementById("champ1").value;
var variable2 = document.getElementById("champ2").value;
if(variable1 != "" && variable2 != "" ) {
var variable3 = parseFloat(variable1) * parseFloat(variable2);
document.getElementById("total1").value = variable3.toFixed(2);
} else {
document.getElementById("total1").value = "0";
}
}
Là, vous allez peut-être me demander pourquoi ces éléments sont dans un tableau et en fait c'est parce que ces champs ne sont pas tous seuls dans mon formulaire et que j'ai une trentaine de lignes identiques et qui respectent la même structure. Et on en vient donc à mon problème...
MON PROBLEME :
Le script cité plus haut fonctionne parfaitement. Sauf que voilà, des lignes comme celle-ci, j'en ai une trentaine dans mon tableau et j'ai donc créé tout autant de fonctions. Ce que je voudrais mettre en place, en fait, c'est genre une fonction "calcul()" qui soit réutilisable pour tous mes calculs histoire d'alléger et de simplifier au maximum mon code. Je pensais pendant un moment à essayer de récupérer les valeurs des champs de chaque ligne et à les balancer ensuite dans les arguments de la fonction mais j'avoue que j'ai vraiment beaucoup de mal.
Bref, si quelqu'un s'y connait mieux que moi en matière de Javascript (et ce n'est pas très dur), ce serait cool qu'il me vienne en aide. Par contre, j'suis vraiment un gros en la matière donc faudra bien prendre le temps de m'expliquer le machin
