begin process at 2012 05 29 01:15:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

Débutants

 > 

Calcul de somme dans un formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Calcul de somme dans un formulaire

vendredi 14 mai 2004 à 13:11:33 | Calcul de somme dans un formulaire

Bullfrog

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 !

Merci

Laurent
vendredi 14 mai 2004 à 14:54:15 | Re : Calcul de somme dans un formulaire

bertrouf

Même sans maitriser le javascript, tu devrais savoir replacer les noms des variables de ton formulaire.

<script language="javascript">
function Somme() {
A=document.addit.case1.value;
B=document.addit.case2.value;
C=document.addit.case3.value;
document.addit.resultat.value=Number(A)+Number(B)+Number(C);
}
</script>

et

<form name="addit">
<input type="text" name="case1" onKeyUp="Somme()" size=7>
<input type="text" name="case2" onKeyUp="Somme()" size=7>
<input type="text" name="case3" onKeyUp="Somme()" size=7>
<input type="text" name="resultat" size=7>
</form>


Pour l'arrondi à deux chiffres, il faudrait ajouter une variable intermédaire du style :

nb2=Number(A)+Number(B)+Number(C);
nb2=Math.round(nb2*100);
nb2=nb2/100;
document.addit.resultat.value=nb2;

et si tu ne connais pas le nombre de cases, alors une boucle avec un array dans la fonction.

bertrouf
vendredi 16 octobre 2009 à 15:10:54 | Re : Calcul de somme dans un formulaire

tcyrill2

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'<input>, 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
vendredi 16 octobre 2009 à 15:19:32 | Re : Calcul de somme dans un formulaire

Bul3

Membre Club
Bonjour,
oulah.. en effet ! 2004 ?
>>fonction "Somme" en fonction d'un nombre
>>aléatoire d'<input>,
oui, oui....
_ soit on met le même name
et on fait une ch'tiot boucle
Code Javascript :
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
Code Javascript :
var n=1;
while ( document.getElementById("inp"+n) )
{ traitement de document.getElementById("inp"+n).value 
  n++;
}
Cordialement [mon Site] [M'écrire] Bul
vendredi 16 octobre 2009 à 15:58:56 | Re : Calcul de somme dans un formulaire

tcyrill2

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 :
Code PHP :
$i=1;
do
   {
   if (isset($mon_tableau['element']))
      {
      echo '<tr>';
      echo '<td><input type="text" name="val'.$i.'" onKeyUp="Somme()" /></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 :)
vendredi 16 octobre 2009 à 16:10:31 | Re : Calcul de somme dans un formulaire

Bul3

Membre Club
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...
Code HTML :
<body>
	<form name="frm">
		<table> 
			<tr>	<td>avec name</td>
					<td>avec id</td></tr>
			<tr>	<td><input type="text" name="txt" value="1" /></td>
					<td><input type="text" id="txt1" value="111" /></td></tr>
			<tr>	<td><input type="text" name="txt" value="22" /></td>
					<td><input type="text" id="txt2" value="222" /></td></tr>
			<tr>	<td><input type="text" name="txt" value="333" /></td>
					<td><input type="text" id="txt3" value="333" /></td></tr>
			<tr>	<td colspan="3"><hr /></td></tr>
			<tr>	<td><input type="text" name="res1" value="0" /></td>
					<td><input type="text" id="res2" value="0" /></td></tr>
		</table>
	</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>
</body>
vendredi 16 octobre 2009 à 16:17:56 | Re : Calcul de somme dans un formulaire

Bul3

Membre Club
il fallait lire regarder getElementsByName
bien entendu, et ça ressemblera étrandement
à la manière de faire avec getElementById.
vendredi 16 octobre 2009 à 16:36:32 | Re : Calcul de somme dans un formulaire

Bul3

Membre Club
aller... exemple avec des name "progressifs"
cumul dans res3, name="txt1", "txt2"....
Code Javascript :
document.getElementsByName("res3")[0].value=0;
n=1;
while ( typeof document.getElementsByName("txt"+n)[0]!="undefined" )
{	document.getElementsByName("res3")[0].value=
			Number(document.getElementsByName("res3")[0].value)+
			Number(document.getElementsByName("txt"+n)[0].value);
	n++;
}

dimanche 18 octobre 2009 à 11:39:24 | Re : Calcul de somme dans un formulaire

Bul3

Membre Club
ça ne convient pas si je comprend bien (?)
bah une autre possibilité :
sans utiliser ni name ni id :
Code Javascript :
var t=document.getElementsByTagName("TABLE")[0];
_ boucler grâce à t.rows.length
_ cumuler Number(t.rows[n].cells[n° col].firstChild.value)
pour d'autres pistes, je vais devoir réfléchir encore....


Cette discussion est classée dans : formulaire, somme, calcul, textes, plutôt


Répondre à ce message

Sujets en rapport avec ce message

calcul de prix dans un formulaire multiple !! [ par pumbaa ] Bonjour a tous   <P c FORMULAIRE ET CALCUL DU TOTAL JAVASCRIPT/PHP [ par fidecourt ] Bonjour à tous, langage utilisé : PHP J'ai un souci : j'ai un formulaire nommé "ChoixArticle" qui comporte les infos suivantes Ref article hauteur lar Calcul dans u formulaire [ par grakel ] Salut a tous, J'ai un piti probleme de javascript. Je souhaites faire un calcul dans un formulaire. schema type J'ai des champs texte puis un input="b Moteur de calcul sur un formulaire [ par twentyseven ] Bonjour,Je souhaite effectuer des claculs (+, *, % ...) sur des formulaires représentant des devis, factures...Le nombre de calculs étant important, j ça ma caC la têt!!!(formulaire html sous netscape) [ par rajolalaina ] bonjour,je voudrais savoir pouquoi mon script ne fonctionne pas sous netscape ou firefox. Le voici :functioncalculerTotal () { var total=eval(0);tot Calcul automatique dans un formulaire [ par Looping2605 ] Bonjour @ tous,j'ai un petit problème pour mon formulaire. Je souhaiterais afficher dans un textarea un tarif qui fluctue selon les choix de l'utilisa Calcul dans un formulaire [ par lacigale69 ] Bonjour, j'ai crée dans [u]PDF Converter Entreprise 6.0[/u], un formulaire tres simple. Je souhaite trouver le moyen de calculer une multiplication. Simuler l'appui sur un bouton 'input' d'un formulaire par javascript [ par Macintosh ] Bonjour ! Je suis un débutant et j'ai besoin d'aide !!! J'utilise un javascript pour générer un DatePicker (base Démo CalendarXP) dans mon formulair Formulaire avec calcul automatique [ par Lucalivier ] Bonjour je suis un petit nouveau et j'utilise joomla. J'essaie d'aider un pot à créer un formulaire du type select avec calcul automatique d'un systém Ajouter un calcul dans un calendrier de type "DatePicker" ? [ par Macintosh ] Bonjour ! J'utilise un calendrier type "DatePicker" qui fonctionne très bien. voir ici : [url=http://alphabetfrancais.fr/formulaire/formulaire.php]F


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales