Bonjour à tous.
J'ai sur une page des champs textes disposés en ligne, ne pouvant comptenir que des chiffres.
j'ai fait une fonction en javascript qui me calcule le total par lignes des champs renseignés. (j'ai une autre fonction semblable me calculant le total par colonne)
Il marche très bien, lorsque les visiteurs écrivent dans le formulaire dans le sens "normal", c'est à dire de la gauche vers la droite (ou du haut vers le bas pour les colonnes)
Or lorsque par exemple quelqu'un commence sa saisie par le dernier nombre, puis décide de renseigner le 2eme.... cela fausse totalement le résultat... les valeurs semblent écrasées..
comment puis je faire, en modifiant ce script pour que ce problème disparraisse?
je ne pense pas qu'il y ait grand chose à modifier... peut etre allez vous le voir direct..
merci..
fonction du total par ligne:
code générré :
merci
Modifié par falz (20 Oct 2006 - 19:29)
J'ai sur une page des champs textes disposés en ligne, ne pouvant comptenir que des chiffres.
j'ai fait une fonction en javascript qui me calcule le total par lignes des champs renseignés. (j'ai une autre fonction semblable me calculant le total par colonne)
Il marche très bien, lorsque les visiteurs écrivent dans le formulaire dans le sens "normal", c'est à dire de la gauche vers la droite (ou du haut vers le bas pour les colonnes)
Or lorsque par exemple quelqu'un commence sa saisie par le dernier nombre, puis décide de renseigner le 2eme.... cela fausse totalement le résultat... les valeurs semblent écrasées..
comment puis je faire, en modifiant ce script pour que ce problème disparraisse?
je ne pense pas qu'il y ait grand chose à modifier... peut etre allez vous le voir direct..
merci..
fonction du total par ligne:
function majligne(numeTabl,numeLign,nombColo)
{
var i=0;
var vale;
var somm=0;
while(++i<=nombColo)
{
vale=Number(document.Form["qte_"+numeTabl+"_"+numeLign+"_"+i].value);
if(isNaN(vale)===false)
{
somm+=vale;
}
}
document.Form["resultat_"+numeTabl+"_"+numeLign].value=somm;
}
code générré :
<input type="text" name="qte_1_0_1" onChange="majligne(1,0,1); majCol(1,0,1);" /> <input type="text" name="qte_1_0_2" onChange="majligne(1,0,2); majCol(1,0,1);" /> etc...
merci
Modifié par falz (20 Oct 2006 - 19:29)