Le but de ce formulaire est de calculer le nb d'adh=E9rents pour chaque
cat=E9gorie, et pour cela, j'utilise le petit script suivant :
[code]
<script type=3D"text/javascript">
function purge(nbre) {
// conversion s=E9parateur ',' en '.'
nbre =3D nbre.replace(',','.');
// recherche et remplacement de caract=E8res non d=E9sir=E9s
nbre =3D nbre.replace(/([^0-9 ^.]|\.{2,5}|\s)/g,'');
return nbre;
}
function add() {
var f =3D document.forms[0];
var tot =3D 0;
// pour chaque =E9l=E9ment du formulaire
for(var i=3D0; i<f.length; i++) {
// si c'est un champ de texte et dont le nom commence par 'ch_'
if(f[i].type=3D=3D'text' && f[i].name.indexOf('ch_')>=3D0) {
// correction du contenu du champ
f[i].value =3D purge(f[i].value);
// ajout de cette valeur =E0 la variable 'tot'
tot +=3D f[i].value*1;
// comme la valeur d'un champ est de type texte
// on l'a transform=E9e en nombre (en le multipliant par 1)
// avant de faire l'addition
}
}
// insertion du r=E9sultat
f['total_acteur'].value =3D tot;
}
</script>
[/code]
Mon soucis est que ce script ne me permet pas de faire plusieurs
calculs dans un m=EAme formulaire.
Comment rem=E9dier =E0 ce soucis qui commence =E0 me hanter depuis
plusieurs
jours maintenant.
Mon soucis est que ce script ne me permet pas de faire plusieurs calculs dans un même formulaire. Comment remédier à ce soucis qui commence à me hanter depuis plusieurs
<script type="text/javascript">
function purge(nbre) { // conversion séparateur ',' en '.' nbre = nbre.replace(',','.'); // recherche et remplacement de caractères non désirés nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre }
function nbr2txt(n) { return n.toString().replace('.',','); }
function add() { var f = document.form1; var k = f.length-3; var tot1 = tot2 = 0; var n1, n2; for(var i=0; i<k; i = i+3) { n1 = purge(f[i].value); n2 = purge(f[i+1].value); f[i+2].value = nbr2txt(+n1+n2); tot1 += n1; tot2 += n2; } f[k].value = nbr2txt(tot1); f[k+1].value = nbr2txt(tot2); f[k+2].value = nbr2txt(tot1+tot2); }
</script>
-- sm
Mon soucis est que ce script ne me permet pas de faire plusieurs
calculs dans un même formulaire.
Comment remédier à ce soucis qui commence à me hanter depuis
plusieurs
<script type="text/javascript">
function purge(nbre) {
// conversion séparateur ',' en '.'
nbre = nbre.replace(',','.');
// recherche et remplacement de caractères non désirés
nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,'');
return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) {
return n.toString().replace('.',',');
}
function add() {
var f = document.form1;
var k = f.length-3;
var tot1 = tot2 = 0;
var n1, n2;
for(var i=0; i<k; i = i+3) {
n1 = purge(f[i].value);
n2 = purge(f[i+1].value);
f[i+2].value = nbr2txt(+n1+n2);
tot1 += n1;
tot2 += n2;
}
f[k].value = nbr2txt(tot1);
f[k+1].value = nbr2txt(tot2);
f[k+2].value = nbr2txt(tot1+tot2);
}
Mon soucis est que ce script ne me permet pas de faire plusieurs calculs dans un même formulaire. Comment remédier à ce soucis qui commence à me hanter depuis plusieurs
<script type="text/javascript">
function purge(nbre) { // conversion séparateur ',' en '.' nbre = nbre.replace(',','.'); // recherche et remplacement de caractères non désirés nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre }
function nbr2txt(n) { return n.toString().replace('.',','); }
function add() { var f = document.form1; var k = f.length-3; var tot1 = tot2 = 0; var n1, n2; for(var i=0; i<k; i = i+3) { n1 = purge(f[i].value); n2 = purge(f[i+1].value); f[i+2].value = nbr2txt(+n1+n2); tot1 += n1; tot2 += n2; } f[k].value = nbr2txt(tot1); f[k+1].value = nbr2txt(tot2); f[k+2].value = nbr2txt(tot1+tot2); }
</script>
-- sm
DamDamDeo
<script type="text/javascript">
function purge(nbre) { // conversion s�parateur ',' en '.' nbre = nbre.replace(',','.'); // recherche et remplacement de caract�res non d�sirï¿ ½s nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre }
function nbr2txt(n) { return n.toString().replace('.',','); }
function add() { var f = document.form1; var k = f.length-3; var tot1 = tot2 = 0; var n1, n2; for(var i=0; i<k; i = i+3) { n1 = purge(f[i].value); n2 = purge(f[i+1].value); f[i+2].value = nbr2txt(+n1+n2); tot1 += n1; tot2 += n2; } f[k].value = nbr2txt(tot1); f[k+1].value = nbr2txt(tot2); f[k+2].value = nbr2txt(tot1+tot2); }
</script>
-- sm
Merci beaucoup, ça marche impec ;)
<script type="text/javascript">
function purge(nbre) {
// conversion s�parateur ',' en '.'
nbre = nbre.replace(',','.');
// recherche et remplacement de caract�res non d�sirï¿ ½s
nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,'');
return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) {
return n.toString().replace('.',',');
}
function add() {
var f = document.form1;
var k = f.length-3;
var tot1 = tot2 = 0;
var n1, n2;
for(var i=0; i<k; i = i+3) {
n1 = purge(f[i].value);
n2 = purge(f[i+1].value);
f[i+2].value = nbr2txt(+n1+n2);
tot1 += n1;
tot2 += n2;
}
f[k].value = nbr2txt(tot1);
f[k+1].value = nbr2txt(tot2);
f[k+2].value = nbr2txt(tot1+tot2);
}
function purge(nbre) { // conversion s�parateur ',' en '.' nbre = nbre.replace(',','.'); // recherche et remplacement de caract�res non d�sirï¿ ½s nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre }
function nbr2txt(n) { return n.toString().replace('.',','); }
function add() { var f = document.form1; var k = f.length-3; var tot1 = tot2 = 0; var n1, n2; for(var i=0; i<k; i = i+3) { n1 = purge(f[i].value); n2 = purge(f[i+1].value); f[i+2].value = nbr2txt(+n1+n2); tot1 += n1; tot2 += n2; } f[k].value = nbr2txt(tot1); f[k+1].value = nbr2txt(tot2); f[k+2].value = nbr2txt(tot1+tot2); }
</script>
-- sm
Merci beaucoup, ça marche impec ;)
DamDamDeo
<script type="text/javascript">
function purge(nbre) { // conversion séparateur ',' en '.' nbre = nbre.replace(',','.'); // recherche et remplacement de caractères non désirés nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) { return n.toString().replace('.',',');
}
function add() { var f = document.form1; var k = f.length-3; var tot1 = tot2 = 0; var n1, n2; for(var i=0; i<k; i = i+3) { n1 = purge(f[i].value); n2 = purge(f[i+1].value); f[i+2].value = nbr2txt(+n1+n2); tot1 += n1; tot2 += n2; } f[k].value = nbr2txt(tot1); f[k+1].value = nbr2txt(tot2); f[k+2].value = nbr2txt(tot1+tot2);
}
</script>
-- sm
Désolé de revenir à la charge, mais ce dresse devant moi un nouveau problème. En effet, ma page comporte de nombreux champs et donc de nombreux calcul (uniquement des additions), n'y a-t-il pas un moyen pour définir une fonction plus générale, dans le sens on définirait les champs à additionner uniquement dans mes divers champs total. (je sais pas si je suis très clair)
<input name="total_chanteur" type="text" id="total_acteur" size="10" "additione moi les input"ch_chanteur_18;ch_chanteur_15;ch_chanteur_12"/
<input name="total_chanteur" type="text" id="total_acteur" size="10" "additione moi les input"total_chanteur;total_acteur"/>
Je ne sais pa si c'est réalisable, en tout cas merci un grand merci quand même pour ce début de réponse ;)
<script type="text/javascript">
function purge(nbre) {
// conversion séparateur ',' en '.'
nbre = nbre.replace(',','.');
// recherche et remplacement de caractères non désirés
nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,'');
return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) {
return n.toString().replace('.',',');
}
function add() {
var f = document.form1;
var k = f.length-3;
var tot1 = tot2 = 0;
var n1, n2;
for(var i=0; i<k; i = i+3) {
n1 = purge(f[i].value);
n2 = purge(f[i+1].value);
f[i+2].value = nbr2txt(+n1+n2);
tot1 += n1;
tot2 += n2;
}
f[k].value = nbr2txt(tot1);
f[k+1].value = nbr2txt(tot2);
f[k+2].value = nbr2txt(tot1+tot2);
}
</script>
--
sm
Désolé de revenir à la charge, mais ce dresse devant moi un nouveau
problème.
En effet, ma page comporte de nombreux champs et donc de nombreux
calcul (uniquement des additions),
n'y a-t-il pas un moyen pour définir une fonction plus générale, dans
le sens on définirait les champs à additionner uniquement dans mes
divers champs total.
(je sais pas si je suis très clair)
function purge(nbre) { // conversion séparateur ',' en '.' nbre = nbre.replace(',','.'); // recherche et remplacement de caractères non désirés nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) { return n.toString().replace('.',',');
}
function add() { var f = document.form1; var k = f.length-3; var tot1 = tot2 = 0; var n1, n2; for(var i=0; i<k; i = i+3) { n1 = purge(f[i].value); n2 = purge(f[i+1].value); f[i+2].value = nbr2txt(+n1+n2); tot1 += n1; tot2 += n2; } f[k].value = nbr2txt(tot1); f[k+1].value = nbr2txt(tot2); f[k+2].value = nbr2txt(tot1+tot2);
}
</script>
-- sm
Désolé de revenir à la charge, mais ce dresse devant moi un nouveau problème. En effet, ma page comporte de nombreux champs et donc de nombreux calcul (uniquement des additions), n'y a-t-il pas un moyen pour définir une fonction plus générale, dans le sens on définirait les champs à additionner uniquement dans mes divers champs total. (je sais pas si je suis très clair)
<input name="total_chanteur" type="text" id="total_acteur" size="10" "additione moi les input"ch_chanteur_18;ch_chanteur_15;ch_chanteur_12"/
<input name="total_chanteur" type="text" id="total_acteur" size="10" "additione moi les input"total_chanteur;total_acteur"/>
Je ne sais pa si c'est réalisable, en tout cas merci un grand merci quand même pour ce début de réponse ;)
SAM
Désolé de revenir à la charge, mais ce dresse devant moi un nouveau problème. En effet, ma page comporte de nombreux champs et donc de nombreux calcul (uniquement des additions), n'y a-t-il pas un moyen pour définir une fonction plus générale, dans le sens on définirait les champs à additionner uniquement dans mes divers champs total. (je sais pas si je suis très clair)
ben, à ce moment là tu peux faire soit une fonction pas trop futée :
function add(prefix, nums) { var f = document.form1; nums = nums.split(); var tot = 0; for(var i=0; i<nums.length; i++) tot += purge(f[prefix+num[i].value); f[prefix+'total'].value = nbr2txt(tot); }
- si on n'a pas l'usage des id, autant s'en passer - pour la taille des champs, hop! CSS --> input { width: 50px } - type="text" est facultatif (c'est l'état par défaut des inputs)
Soit une fonction un peu + compliquée :
<html> <script type="text/javascript"> function purge(nbre) { nbre = nbre.replace(',','.'); nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre }
function nbr2txt(n) { return n.toString().replace('.',','); }
function add(quoi) { var t = quoi.parentNode; while(t.tagName != 'TR') t = t.parentNode; // rangée contenant l'input t = t.getElementsByTagName('INPUT'); // collection des inputs de ce rang var L = t.length-1; var n = 0; for(var i=0; i<L; i++) n += purge(t[i].value); // addition des input t[L].value = nbr2txt(n); // hop en nombre avec ',' } </script>
Désolé de revenir à la charge, mais ce dresse devant moi un nouveau
problème.
En effet, ma page comporte de nombreux champs et donc de nombreux
calcul (uniquement des additions),
n'y a-t-il pas un moyen pour définir une fonction plus générale, dans
le sens on définirait les champs à additionner uniquement dans mes
divers champs total.
(je sais pas si je suis très clair)
ben, à ce moment là tu peux faire soit une fonction pas trop futée :
function add(prefix, nums) {
var f = document.form1;
nums = nums.split();
var tot = 0;
for(var i=0; i<nums.length; i++) tot += purge(f[prefix+num[i].value);
f[prefix+'total'].value = nbr2txt(tot);
}
- si on n'a pas l'usage des id, autant s'en passer
- pour la taille des champs, hop! CSS --> input { width: 50px }
- type="text" est facultatif (c'est l'état par défaut des inputs)
Soit une fonction un peu + compliquée :
<html>
<script type="text/javascript">
function purge(nbre) {
nbre = nbre.replace(',','.');
nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,'');
return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) {
return n.toString().replace('.',',');
}
function add(quoi) {
var t = quoi.parentNode;
while(t.tagName != 'TR') t = t.parentNode; // rangée contenant l'input
t = t.getElementsByTagName('INPUT'); // collection des inputs de ce rang
var L = t.length-1;
var n = 0;
for(var i=0; i<L; i++) n += purge(t[i].value); // addition des input
t[L].value = nbr2txt(n); // hop en nombre avec ','
}
</script>
Désolé de revenir à la charge, mais ce dresse devant moi un nouveau problème. En effet, ma page comporte de nombreux champs et donc de nombreux calcul (uniquement des additions), n'y a-t-il pas un moyen pour définir une fonction plus générale, dans le sens on définirait les champs à additionner uniquement dans mes divers champs total. (je sais pas si je suis très clair)
ben, à ce moment là tu peux faire soit une fonction pas trop futée :
function add(prefix, nums) { var f = document.form1; nums = nums.split(); var tot = 0; for(var i=0; i<nums.length; i++) tot += purge(f[prefix+num[i].value); f[prefix+'total'].value = nbr2txt(tot); }
- si on n'a pas l'usage des id, autant s'en passer - pour la taille des champs, hop! CSS --> input { width: 50px } - type="text" est facultatif (c'est l'état par défaut des inputs)
Soit une fonction un peu + compliquée :
<html> <script type="text/javascript"> function purge(nbre) { nbre = nbre.replace(',','.'); nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre }
function nbr2txt(n) { return n.toString().replace('.',','); }
function add(quoi) { var t = quoi.parentNode; while(t.tagName != 'TR') t = t.parentNode; // rangée contenant l'input t = t.getElementsByTagName('INPUT'); // collection des inputs de ce rang var L = t.length-1; var n = 0; for(var i=0; i<L; i++) n += purge(t[i].value); // addition des input t[L].value = nbr2txt(n); // hop en nombre avec ',' } </script>
ben, à ce moment là tu peux faire soit une fonction pas trop futée :
function add(prefix, nums) { var f = document.form1; nums = nums.split(); var tot = 0; for(var i=0; i<nums.length; i++) tot += purge(f[prefix+num[i].value); f[prefix+'total'].value = nbr2txt(tot);
- si on n'a pas l'usage des id, autant s'en passer - pour la taille des champs, hop! CSS --> input { width: 50px } - type="text" est facultatif (c'est l'état par défaut des inputs)
Soit une fonction un peu + compliquée :
<html> <script type="text/javascript"> function purge(nbre) { nbre = nbre.replace(',','.'); nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) { return n.toString().replace('.',',');
}
function add(quoi) { var t = quoi.parentNode; while(t.tagName != 'TR') t = t.parentNode; // rangée contenant l'i nput t = t.getElementsByTagName('INPUT'); // collection des inputs de ce rang var L = t.length-1; var n = 0; for(var i=0; i<L; i++) n += purge(t[i].value); // addition des input t[L].value = nbr2txt(n); // hop en nombre avec ',' }
Milles merci, ça marche impec ! Un immense merci !
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mais pas les lignes verticales. Encore un dernier petit coup de main ?
Encore merci.
On 9 mai, 23:12, SAM <stephanemoriaux.NoAd...@wanadoo.fr.invalid>
wrote:
ben, à ce moment là tu peux faire soit une fonction pas trop futée :
function add(prefix, nums) {
var f = document.form1;
nums = nums.split();
var tot = 0;
for(var i=0; i<nums.length; i++) tot += purge(f[prefix+num[i].value);
f[prefix+'total'].value = nbr2txt(tot);
- si on n'a pas l'usage des id, autant s'en passer
- pour la taille des champs, hop! CSS --> input { width: 50px }
- type="text" est facultatif (c'est l'état par défaut des inputs)
Soit une fonction un peu + compliquée :
<html>
<script type="text/javascript">
function purge(nbre) {
nbre = nbre.replace(',','.');
nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,'');
return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) {
return n.toString().replace('.',',');
}
function add(quoi) {
var t = quoi.parentNode;
while(t.tagName != 'TR') t = t.parentNode; // rangée contenant l'i nput
t = t.getElementsByTagName('INPUT'); // collection des inputs de ce rang
var L = t.length-1;
var n = 0;
for(var i=0; i<L; i++) n += purge(t[i].value); // addition des input
t[L].value = nbr2txt(n); // hop en nombre avec ',' }
Milles merci,
ça marche impec !
Un immense merci !
Juste une dernière chose (je suis vraiment un boulet), avec la
deuxième méthode, j'arrive à calculer mes lignes horizontales, mais
pas les lignes verticales.
Encore un dernier petit coup de main ?
ben, à ce moment là tu peux faire soit une fonction pas trop futée :
function add(prefix, nums) { var f = document.form1; nums = nums.split(); var tot = 0; for(var i=0; i<nums.length; i++) tot += purge(f[prefix+num[i].value); f[prefix+'total'].value = nbr2txt(tot);
- si on n'a pas l'usage des id, autant s'en passer - pour la taille des champs, hop! CSS --> input { width: 50px } - type="text" est facultatif (c'est l'état par défaut des inputs)
Soit une fonction un peu + compliquée :
<html> <script type="text/javascript"> function purge(nbre) { nbre = nbre.replace(',','.'); nbre = nbre.replace(/([^0-9 ^.]|.{2,5}|s)/g,''); return nbre*1; // on renvoie un nombre
}
function nbr2txt(n) { return n.toString().replace('.',',');
}
function add(quoi) { var t = quoi.parentNode; while(t.tagName != 'TR') t = t.parentNode; // rangée contenant l'i nput t = t.getElementsByTagName('INPUT'); // collection des inputs de ce rang var L = t.length-1; var n = 0; for(var i=0; i<L; i++) n += purge(t[i].value); // addition des input t[L].value = nbr2txt(n); // hop en nombre avec ',' }
Milles merci, ça marche impec ! Un immense merci !
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mais pas les lignes verticales. Encore un dernier petit coup de main ?
Encore merci.
SAM
Milles merci, ça marche impec !
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mais pas les lignes verticales. Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices : - la longueur de la collection d'input (ici = le nbre d'éléments du formulaire) - le nombre de rangées (et par le fait, le nbre d'input par rangée)
Milles merci,
ça marche impec !
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ?
Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la
deuxième méthode, j'arrive à calculer mes lignes horizontales, mais
pas les lignes verticales.
Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices :
- la longueur de la collection d'input
(ici = le nbre d'éléments du formulaire)
- le nombre de rangées
(et par le fait, le nbre d'input par rangée)
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mais pas les lignes verticales. Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices : - la longueur de la collection d'input (ici = le nbre d'éléments du formulaire) - le nombre de rangées (et par le fait, le nbre d'input par rangée)
DamDamDeo
On 10 mai, 04:01, SAM wrote:
Milles merci, ça marche impec !
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mai s pas les lignes verticales. Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices : - la longueur de la collection d'input (ici = le nbre d'éléments du formulaire) - le nombre de rangées (et par le fait, le nbre d'input par rangée)
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
mais très sincèrement, de là à essayé de refaire quelque chose da ns le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
On 10 mai, 04:01, SAM <stephanemoriaux.NoAd...@wanadoo.fr.invalid>
wrote:
Milles merci,
ça marche impec !
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ?
Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la
deuxième méthode, j'arrive à calculer mes lignes horizontales, mai s
pas les lignes verticales.
Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices :
- la longueur de la collection d'input
(ici = le nbre d'éléments du formulaire)
- le nombre de rangées
(et par le fait, le nbre d'input par rangée)
Je comprend globalement ce qui se passe :
"additionne tous les nombres contenu dans la rangé et affiche le
résultat dans le dernier input de cette rangé"
(heu j'ai bon ?)
mais très sincèrement, de là à essayé de refaire quelque chose da ns
le même style pour qu'en plus de calculer des rangés on puisse aussi
calculer des colonnes, y'a pour moi un grand fossé.
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mai s pas les lignes verticales. Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices : - la longueur de la collection d'input (ici = le nbre d'éléments du formulaire) - le nombre de rangées (et par le fait, le nbre d'input par rangée)
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
mais très sincèrement, de là à essayé de refaire quelque chose da ns le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
DamDamDeo
On 10 mai, 04:01, SAM wrote:
Milles merci, ça marche impec !
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mai s pas les lignes verticales. Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices : - la longueur de la collection d'input (ici = le nbre d'éléments du formulaire) - le nombre de rangées (et par le fait, le nbre d'input par rangée)
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
mais très sincèrement, de là à essayé de refaire quelque chose da ns le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
On 10 mai, 04:01, SAM <stephanemoriaux.NoAd...@wanadoo.fr.invalid>
wrote:
Milles merci,
ça marche impec !
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ?
Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la
deuxième méthode, j'arrive à calculer mes lignes horizontales, mai s
pas les lignes verticales.
Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices :
- la longueur de la collection d'input
(ici = le nbre d'éléments du formulaire)
- le nombre de rangées
(et par le fait, le nbre d'input par rangée)
Je comprend globalement ce qui se passe :
"additionne tous les nombres contenu dans la rangé et affiche le
résultat dans le dernier input de cette rangé"
(heu j'ai bon ?)
mais très sincèrement, de là à essayé de refaire quelque chose da ns
le même style pour qu'en plus de calculer des rangés on puisse aussi
calculer des colonnes, y'a pour moi un grand fossé.
Non, la soluce 1, telle que, ne doit pas bien fonctionner.
Un immense merci !
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Juste une dernière chose (je suis vraiment un boulet), avec la deuxième méthode, j'arrive à calculer mes lignes horizontales, mai s pas les lignes verticales. Encore un dernier petit coup de main ?
J'ai dit : ne reste plus qu'à additionner les rangées.
Je dis maintenant : comment comptes-tu t'y prendre ?
Encore merci.
Indices : - la longueur de la collection d'input (ici = le nbre d'éléments du formulaire) - le nombre de rangées (et par le fait, le nbre d'input par rangée)
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
mais très sincèrement, de là à essayé de refaire quelque chose da ns le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
SAM
On 10 mai, 04:01, SAM wrote:
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
oui :-)
mais très sincèrement, de là à essayé de refaire quelque chose dans le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
Il faut s'inspirer du premier jus.
on crée un tableau (un array) des sous-totaux par colonne var tot = new Array(); // ou : tot = []; on crée une variable pour le sous-total de la rangée var sstot = 0;
on commence par relever le nombre d'inputs var c = document.form1.length; puis le nombre de rangées var r = document.getElementsByTagName('TR'); ce qui nous donne le nombre de colonnes : var n = c/r;
on peut alors créer les sous-totaux par colonnes (sauf la dernière) for(var i=0; i<n-1; i++) tot[i] = 0;
ensuite on fait une boucle sur les rangées sauf la dernière des totaux la boucle a pour pas : n (on saute de n cellules en n cellules) for(var i=0; i<(c-n); i = i+n) {
dans cette boucle on fait une boucle sur les inputs de la rangée for(var j=0; j<(n-1); j++) { addition de chaque input dans sous-total de rangée sstot += f[i+j].value*1; addition de chaque input dans sous-total de colonne tot[i] += f[i+j].value*1; fin de sous-boucle
on dispose le sous-total de la rangée f[i+n-1].value = sstot; on remet à zéro le sous-total de rangée pour le prochain passage (i+n) sstot = 0;
enfin il ne reste plus qu'à réaliser la boucle sur la dernière rangée des totaux généraux ( les cellules ou inputs depuis f[c-n] à f[c-2] ) ( rappel : les inputs vont de f[0] à f[c-1] ) pour entrer les résultats des sous-totaux par colonnes puis le total de la rangée sstot = 0; for(var i=0; i<n-1; i++) { f[c-n+i]. value = ...
Voili, voilou
Le truc complet est prèt, je te le donne dès que tu m'as montré tes tentatives.
-- sm
On 10 mai, 04:01, SAM <stephanemoriaux.NoAd...@wanadoo.fr.invalid>
wrote:
J'espère seulement que tu comprends ce qui est bidouillé ?
Sinon il faut demander.
Je comprend globalement ce qui se passe :
"additionne tous les nombres contenu dans la rangé et affiche le
résultat dans le dernier input de cette rangé"
(heu j'ai bon ?)
oui :-)
mais très sincèrement, de là à essayé de refaire quelque chose dans
le même style pour qu'en plus de calculer des rangés on puisse aussi
calculer des colonnes, y'a pour moi un grand fossé.
Il faut s'inspirer du premier jus.
on crée un tableau (un array) des sous-totaux par colonne
var tot = new Array(); // ou : tot = [];
on crée une variable pour le sous-total de la rangée
var sstot = 0;
on commence par relever le nombre d'inputs
var c = document.form1.length;
puis le nombre de rangées
var r = document.getElementsByTagName('TR');
ce qui nous donne le nombre de colonnes :
var n = c/r;
on peut alors créer les sous-totaux par colonnes (sauf la dernière)
for(var i=0; i<n-1; i++) tot[i] = 0;
ensuite on fait une boucle sur les rangées sauf la dernière des totaux
la boucle a pour pas : n (on saute de n cellules en n cellules)
for(var i=0; i<(c-n); i = i+n) {
dans cette boucle on fait une boucle sur les inputs de la rangée
for(var j=0; j<(n-1); j++) {
addition de chaque input dans sous-total de rangée
sstot += f[i+j].value*1;
addition de chaque input dans sous-total de colonne
tot[i] += f[i+j].value*1;
fin de sous-boucle
on dispose le sous-total de la rangée
f[i+n-1].value = sstot;
on remet à zéro le sous-total de rangée pour le prochain passage (i+n)
sstot = 0;
enfin il ne reste plus qu'à réaliser la boucle sur la dernière rangée
des totaux généraux
( les cellules ou inputs depuis f[c-n] à f[c-2] )
( rappel : les inputs vont de f[0] à f[c-1] )
pour entrer les résultats des sous-totaux par colonnes puis le total de
la rangée
sstot = 0;
for(var i=0; i<n-1; i++) {
f[c-n+i]. value = ...
Voili, voilou
Le truc complet est prèt, je te le donne dès que tu m'as montré tes
tentatives.
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
oui :-)
mais très sincèrement, de là à essayé de refaire quelque chose dans le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
Il faut s'inspirer du premier jus.
on crée un tableau (un array) des sous-totaux par colonne var tot = new Array(); // ou : tot = []; on crée une variable pour le sous-total de la rangée var sstot = 0;
on commence par relever le nombre d'inputs var c = document.form1.length; puis le nombre de rangées var r = document.getElementsByTagName('TR'); ce qui nous donne le nombre de colonnes : var n = c/r;
on peut alors créer les sous-totaux par colonnes (sauf la dernière) for(var i=0; i<n-1; i++) tot[i] = 0;
ensuite on fait une boucle sur les rangées sauf la dernière des totaux la boucle a pour pas : n (on saute de n cellules en n cellules) for(var i=0; i<(c-n); i = i+n) {
dans cette boucle on fait une boucle sur les inputs de la rangée for(var j=0; j<(n-1); j++) { addition de chaque input dans sous-total de rangée sstot += f[i+j].value*1; addition de chaque input dans sous-total de colonne tot[i] += f[i+j].value*1; fin de sous-boucle
on dispose le sous-total de la rangée f[i+n-1].value = sstot; on remet à zéro le sous-total de rangée pour le prochain passage (i+n) sstot = 0;
enfin il ne reste plus qu'à réaliser la boucle sur la dernière rangée des totaux généraux ( les cellules ou inputs depuis f[c-n] à f[c-2] ) ( rappel : les inputs vont de f[0] à f[c-1] ) pour entrer les résultats des sous-totaux par colonnes puis le total de la rangée sstot = 0; for(var i=0; i<n-1; i++) { f[c-n+i]. value = ...
Voili, voilou
Le truc complet est prèt, je te le donne dès que tu m'as montré tes tentatives.
-- sm
DamDamDeo
On 10 mai, 12:35, SAM wrote:
On 10 mai, 04:01, SAM wrote:
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
oui :-)
mais très sincèrement, de là à essayé de refaire quelque ch ose dans le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
Il faut s'inspirer du premier jus.
on crée un tableau (un array) des sous-totaux par colonne var tot = new Array(); // ou : tot = []; on crée une variable pour le sous-total de la rangée var sstot = 0;
on commence par relever le nombre d'inputs var c = document.form1.length; puis le nombre de rangées var r = document.getElementsByTagName('TR'); ce qui nous donne le nombre de colonnes : var n = c/r;
on peut alors créer les sous-totaux par colonnes (sauf la dernière) for(var i=0; i<n-1; i++) tot[i] = 0;
ensuite on fait une boucle sur les rangées sauf la dernière des totaux la boucle a pour pas : n (on saute de n cellules en n cellules) for(var i=0; i<(c-n); i = i+n) {
dans cette boucle on fait une boucle sur les inputs de la rangée for(var j=0; j<(n-1); j++) { addition de chaque input dans sous-total de rangée sstot += f[i+j].value*1; addition de chaque input dans sous-total de colonne tot[i] += f[i+j].value*1; fin de sous-boucle
on dispose le sous-total de la rangée f[i+n-1].value = sstot; on remet à zéro le sous-total de rangée pour le prochain passage (i+ n) sstot = 0;
enfin il ne reste plus qu'à réaliser la boucle sur la dernière rang ée des totaux généraux ( les cellules ou inputs depuis f[c-n] à f[c-2] ) ( rappel : les inputs vont de f[0] à f[c-1] ) pour entrer les résultats des sous-totaux par colonnes puis le total de la rangée sstot = 0; for(var i=0; i<n-1; i++) { f[c-n+i]. value = ...
Voili, voilou
Le truc complet est prèt, je te le donne dès que tu m'as montré tes tentatives.
-- sm
Et bien voici ce que j'avais déjà pu faire grace à vous : http://madafraf.ovh.org/formulaire_omlc/formu_omlc.html (voir l'onglet effectif)
On 10 mai, 12:35, SAM <stephanemoriaux.NoAd...@wanadoo.fr.invalid>
wrote:
On 10 mai, 04:01, SAM <stephanemoriaux.NoAd...@wanadoo.fr.invalid>
wrote:
J'espère seulement que tu comprends ce qui est bidouillé ?
Sinon il faut demander.
Je comprend globalement ce qui se passe :
"additionne tous les nombres contenu dans la rangé et affiche le
résultat dans le dernier input de cette rangé"
(heu j'ai bon ?)
oui :-)
mais très sincèrement, de là à essayé de refaire quelque ch ose dans
le même style pour qu'en plus de calculer des rangés on puisse aussi
calculer des colonnes, y'a pour moi un grand fossé.
Il faut s'inspirer du premier jus.
on crée un tableau (un array) des sous-totaux par colonne
var tot = new Array(); // ou : tot = [];
on crée une variable pour le sous-total de la rangée
var sstot = 0;
on commence par relever le nombre d'inputs
var c = document.form1.length;
puis le nombre de rangées
var r = document.getElementsByTagName('TR');
ce qui nous donne le nombre de colonnes :
var n = c/r;
on peut alors créer les sous-totaux par colonnes (sauf la dernière)
for(var i=0; i<n-1; i++) tot[i] = 0;
ensuite on fait une boucle sur les rangées sauf la dernière des totaux
la boucle a pour pas : n (on saute de n cellules en n cellules)
for(var i=0; i<(c-n); i = i+n) {
dans cette boucle on fait une boucle sur les inputs de la rangée
for(var j=0; j<(n-1); j++) {
addition de chaque input dans sous-total de rangée
sstot += f[i+j].value*1;
addition de chaque input dans sous-total de colonne
tot[i] += f[i+j].value*1;
fin de sous-boucle
on dispose le sous-total de la rangée
f[i+n-1].value = sstot;
on remet à zéro le sous-total de rangée pour le prochain passage (i+ n)
sstot = 0;
enfin il ne reste plus qu'à réaliser la boucle sur la dernière rang ée
des totaux généraux
( les cellules ou inputs depuis f[c-n] à f[c-2] )
( rappel : les inputs vont de f[0] à f[c-1] )
pour entrer les résultats des sous-totaux par colonnes puis le total de
la rangée
sstot = 0;
for(var i=0; i<n-1; i++) {
f[c-n+i]. value = ...
Voili, voilou
Le truc complet est prèt, je te le donne dès que tu m'as montré tes
tentatives.
--
sm
Et bien voici ce que j'avais déjà pu faire grace à vous :
http://madafraf.ovh.org/formulaire_omlc/formu_omlc.html (voir l'onglet
effectif)
J'espère seulement que tu comprends ce qui est bidouillé ? Sinon il faut demander.
Je comprend globalement ce qui se passe : "additionne tous les nombres contenu dans la rangé et affiche le résultat dans le dernier input de cette rangé" (heu j'ai bon ?)
oui :-)
mais très sincèrement, de là à essayé de refaire quelque ch ose dans le même style pour qu'en plus de calculer des rangés on puisse aussi calculer des colonnes, y'a pour moi un grand fossé.
Il faut s'inspirer du premier jus.
on crée un tableau (un array) des sous-totaux par colonne var tot = new Array(); // ou : tot = []; on crée une variable pour le sous-total de la rangée var sstot = 0;
on commence par relever le nombre d'inputs var c = document.form1.length; puis le nombre de rangées var r = document.getElementsByTagName('TR'); ce qui nous donne le nombre de colonnes : var n = c/r;
on peut alors créer les sous-totaux par colonnes (sauf la dernière) for(var i=0; i<n-1; i++) tot[i] = 0;
ensuite on fait une boucle sur les rangées sauf la dernière des totaux la boucle a pour pas : n (on saute de n cellules en n cellules) for(var i=0; i<(c-n); i = i+n) {
dans cette boucle on fait une boucle sur les inputs de la rangée for(var j=0; j<(n-1); j++) { addition de chaque input dans sous-total de rangée sstot += f[i+j].value*1; addition de chaque input dans sous-total de colonne tot[i] += f[i+j].value*1; fin de sous-boucle
on dispose le sous-total de la rangée f[i+n-1].value = sstot; on remet à zéro le sous-total de rangée pour le prochain passage (i+ n) sstot = 0;
enfin il ne reste plus qu'à réaliser la boucle sur la dernière rang ée des totaux généraux ( les cellules ou inputs depuis f[c-n] à f[c-2] ) ( rappel : les inputs vont de f[0] à f[c-1] ) pour entrer les résultats des sous-totaux par colonnes puis le total de la rangée sstot = 0; for(var i=0; i<n-1; i++) { f[c-n+i]. value = ...
Voili, voilou
Le truc complet est prèt, je te le donne dès que tu m'as montré tes tentatives.
-- sm
Et bien voici ce que j'avais déjà pu faire grace à vous : http://madafraf.ovh.org/formulaire_omlc/formu_omlc.html (voir l'onglet effectif)