Bullfrog
Messages postés4Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 9 août 2005
-
14 mai 2004 à 13:11
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
18 oct. 2009 à 11:39
Salut à tous,
Je suis plutôt néophyte en javascript, j'ai plutôt l'habitude du Cold Fusion ...
Voici mon problème.
Dans un formulaire, je génère 1 à X champs textes.
J'aimerais en fin de ce formulaire afficher le total des valeurs de ces x textes. (valeur en EUR, donc avec 2 décimales)
Idéalement, il faudrait que le calcul se fasse pendant qu'on tape, ou au pire en cliquant à côté (donc sans avoir à cliquer sur un bouton et avant de soumettre le formulaire)
Si l'un de vous vois comment faire, je suis preneur !
tcyrill2
Messages postés20Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention26 octobre 2009 16 oct. 2009 à 15:10
Oula, on dépoussière le post ....
PLEEEAASE HELP ...
C'est génial tout ça, mais est-ce qu'il est possible d'adapter la fonction "Somme" en fonction d'un nombre aléatoire d', nombre que je récupère dans une variable PHP suite à une requête dans une base.
Je connais très peu JS, trop peu ...
Par avance, merci
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 16 oct. 2009 à 15:19
Bonjour,
oulah.. en effet ! 2004 ?
>>fonction "Somme" en fonction d'un nombre
>>aléatoire d',
oui, oui....
_ soit on met le même name
et on fait une ch'tiot boucle
for ( var n=0; n<document.name_formulaire.name_input.length; n++)
{ traitement de document.name_formulaire.name_input[n].value }
_ soit on met un id progressif ( du style id="inp1", id="inp2".. )
et on fait une ch'tiot boucle
var n=1;
while ( document.getElementById("inp"+n) )
{ traitement de document.getElementById("inp"+n).value
n++;
}
tcyrill2
Messages postés20Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention26 octobre 2009 16 oct. 2009 à 15:58
Réaction < 10min ... Respect Total
Euuuhhhh ... c'est à dire que je débute en JS, faut pas te fâcher. lol
En fait, je construis un tableau avec une liste d'input dont le name est "valX" avec X allant de 1 au nb d'éléments dans le tableau :
$i=1;
do
{
if (isset($mon_tableau['element']))
{
echo '<tr>';
echo '<td></td>';
echo '</tr>';
$i++;
}
} while ($mon_tableau = mysql_fetch_assoc(mysql_query($requête)));
[code=php]
Du coup, je pense m'orienter sur ta 2ème solution ... sauf que j'ai bien aucune idée de comment je peux faire pour incrémenter un nom de variable en fonction de mon nombre d'élément.
J'suis même pas sûr de bien récupérer mon nb d'enregistrement en JS tellement je débute.
Le NB d'enregistrement est une variable PHP (testé OK) et j'ai tapé le code suivant pour la récup sous JS :
[code=js]var nb_element=<?php echo $NB_element; ?>;
??
Pendant que j'y suis, autant de demander si tu peux pas me pondre un truc génial je te laisse plus de 10 minutes
Merci d'avance :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 16 oct. 2009 à 16:10
bah... vous mettez un name qui varie
... name="val'.$i.'" ...
on peut faire mais j'aime pas ( navré )
( regarder getElementByName si vous tenez
à cette manière de faire )
je disais :
mettez le même name !
... name="val" ...
ou un id progressif !
... name="val" id="val'.$i'"'...
je ne vois pas que dire de plus...
vous donner un exemple ? ( pur js,
dans un tableau pour la présentation,
colonne de gauche pour les name,
celle de droite pour les ID,
sans aucune connotation politique,
vous adapterez et à votre php et
à quand il faut faire le cumul...
<form name="frm">
avec name,
avec id,
----
,
,
----
,
,
----
,
,
----
<hr />,
----
,
</form>
<script>
document.frm.res1.value=0; // avec les name
for ( var n=0;n<document.frm.txt.length; n++ )
{ document.frm.res1.value=
Number(document.frm.res1.value)+
Number(document.frm.txt[n].value); }
document.getElementById("res2").value=0; // avec les id
n=1;
while ( document.getElementById("txt"+n) )
{ document.getElementById("res2").value=
Number(document.getElementById("res2").value)+
Number(document.getElementById("txt"+n).value);
n++;
}
</script>