Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1431 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Function JS calcul automatique des champs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Function JS calcul automatique des champs

n°1718118
beheadoth
Posté le 15-04-2008 à 22:40:05  profilanswer
 

Bonjour à tous
 
J'ai un formulaire qui contient 7 champs. Il n'y a que 3 de ces 7 champs qui peuvent contenir qqch (dans ce cas un c'est nombre).  
J'aimerais faire une fonction qu'addition tous les champs qui contienne qqch et qu'après il l'envoie le résultat dans un champ texte pour que il soit visible par l'utilisateur.
Donc en fait, faudrait parcourir mes 4 champs qu'ont des noms differents, les verifier pour voir s'ils ont qqch, puis après additioner les valeur de ces champs pour les envoyer dans un champ texte.
 
Le problème est que je ne vois pas du tout comment faire cela, comment faire un boucle qui teste les noms de mes champs (à savoir que le noms de me champs sont champ1, champ2, champ3....champ7)un par un et récupérer ses valeur pour ensuite les additionner.
 
SVP si vous savez comment faire, faites moi savoir. que je puisse commencer dans la bonne direction
 

mood
Publicité
Posté le 15-04-2008 à 22:40:05  profilanswer
 

n°1720078
ludovicus6​4
Posté le 18-04-2008 à 18:54:48  profilanswer
 

pour créer tes 7 champs :
<input type='text' id='champ1' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ2' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ3' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ4' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ5' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ6' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ7' onfocus='test3();' onblur='addition();'><br />
<!-- champ de résultat -->
<input type='text' id='total'>
 
 
Puis pour la partie javascript :
 
<script language='text/javascript'>
function test3(){
var i=1;
var total=0;
for (i=1;i<=7;i++){
if (document.getElementById('champ'+i).value!=null)
{
total++;
}
}
if (total>=3){
 alert("vous avez déja rempli 3 champs" );
}
}
 
function addition(){
 var total=0;
 var i=1;
 for (i=1;i<=7;i++){
if (document.getElementById('champ'+i).value!=null){
total=total+parseInt(document.getElementById('champ'+i).value);
}
}
document.getElementById('total').value=total;
}
</script>
 
J'espère que ca te conviendra !
Bonne soirée.

n°1720155
beheadoth
Posté le 18-04-2008 à 23:06:44  profilanswer
 

Wow, trop bien. On fait j'ai pu trouver une autre solution pour arriver à faire mes calcules, car j'avais de la peine  à creer cette boucle.
Mais merci bcp pour ton aide je vais quand même tester ton code
 
grand merci.

n°1730323
necrolith
Posté le 09-05-2008 à 17:24:54  profilanswer
 

j'ai un peu le meme probleme, mais je saisi mal le code que vous avez utilisez...
mon probleme c'est que je doit mettre le resultat du calcule dans le champs texte résultat...
(je fais une mini calculatrice...
 
 
 
voila mon code:
 
<head>
<script javascript>
function calculer()
 {
 var nb1=document.calculatrice.ch1.value;
 var nb2=document.calculatrice.ch3.value;
 for(i=0;i<document.calculatrice.ch2.options.length;i=i+1)
  {
  if(document.calculatrice.ch2.options[i].selected)
   {
   var op=document.calculatrice.ch2.options[i].text;  
   }}
alert(nb1+op+nb2)
var calcul=nb1+op+nb2;
var resultat=eval(calcul)
}
</script>
</head>
<body>
<form name="calculatrice" method="post" onSubmit="calculer()">
 <input type="text" name="ch1">
 <select name="ch2">
  <option value="+">+</option>
  <option value="-">-</option>
  <option value="*">*</option>
  <option value="/">/</option>
 </select>
 <input type="text" name="ch3">
=  
 <input type="text" name="result" value="">  
 <input type="submit" value="ok">  
</form>
 
il faudrait le resultat(en rouge) dans le champs texte ( en bleu)...y-a-t-il quelqu'un qui sache le faire???
j'ai déja essayé plein de truk mais sa bloc toujours...j'suis a court d'idée...

Message cité 1 fois
Message édité par necrolith le 09-05-2008 à 17:28:01
n°1730329
Paulp
~, sweet ~
Posté le 09-05-2008 à 17:58:05  profilanswer
 

necrolith a écrit :

j'ai un peu le meme probleme, mais je saisi mal le code que vous avez utilisez...
mon probleme c'est que je doit mettre le resultat du calcule dans le champs texte résultat...
(je fais une mini calculatrice...
 
 
 
voila mon code:
 
<head>
<script javascript>
function calculer()
 {
 var nb1=document.calculatrice.ch1.value;
 var nb2=document.calculatrice.ch3.value;
 for(i=0;i<document.calculatrice.ch2.options.length;i=i+1)
  {
  if(document.calculatrice.ch2.options[i].selected)
   {
   var op=document.calculatrice.ch2.options[i].text;  
   }}
alert(nb1+op+nb2)
var calcul=nb1+op+nb2;
var resultat=eval(calcul);
document.calculatrice.result.value=resultat;

}
</script>
</head>
<body>
<form name="calculatrice" method="post" onSubmit="calculer()">
 <input type="text" name="ch1">
 <select name="ch2">
  <option value="+">+</option>
  <option value="-">-</option>
  <option value="*">*</option>
  <option value="/">/</option>
 </select>
 <input type="text" name="ch3">
=  
 <input type="text" name="result" value="">  
 <input type="submit" value="ok">  
</form>
 
il faudrait le resultat(en rouge) dans le champs texte ( en bleu)...y-a-t-il quelqu'un qui sache le faire???
j'ai déja essayé plein de truk mais sa bloc toujours...j'suis a court d'idée...


n°1730330
necrolith
Posté le 09-05-2008 à 18:04:11  profilanswer
 

j'ai déja essayé cette méthode et je vient de la refaire à l'instant et le champs reste toujours vide...
 
je comprend pas parce que logiquement sa devrais marché.... :pfff:  
 
merci quand meme paulp

n°1730331
Paulp
~, sweet ~
Posté le 09-05-2008 à 18:11:12  profilanswer
 

necrolith a écrit :

j'ai déja essayé cette méthode et je vient de la refaire à l'instant et le champs reste toujours vide...
 
je comprend pas parce que logiquement sa devrais marché.... :pfff:  
 
merci quand meme paulp


 
Et as-tu un message d'erreur (outils/console d'erreur sous firefox) ?
Sinon, essaye alert(resultat);

n°1730332
necrolith
Posté le 09-05-2008 à 18:14:44  profilanswer
 

dans les alertes sa marche...
euh pour scripté j'utilise webexpert...il a son propre visionneur...
 
et quand je clique sur ok (submit)sa affiche l'alerte et sa vide mes champs c'est tout...

n°1730333
Paulp
~, sweet ~
Posté le 09-05-2008 à 18:19:00  profilanswer
 

necrolith a écrit :

dans les alertes sa marche...
euh pour scripté j'utilise webexpert...il a son propre visionneur...
 
et quand je clique sur ok (submit)sa affiche l'alerte et sa vide mes champs c'est tout...


Il faut que ta fonction onsubmit retourne false, pour pas que la soumission du formulaire se passe :
<form name="calculatrice" method="post" onSubmit="calculer(); return false;">

n°1730338
necrolith
Posté le 09-05-2008 à 18:26:40  profilanswer
 

bon déja mes champ se vide plus...
maintenant reste plus qu'a afficher le resultat dans le champs texte...
 
et sa m'énerve sa fait 2 jours que je suis dessus...et je bloque...

mood
Publicité
Posté le 09-05-2008 à 18:26:40  profilanswer
 

n°1730339
Paulp
~, sweet ~
Posté le 09-05-2008 à 18:28:08  profilanswer
 

necrolith a écrit :

bon déja mes champ se vide plus...
maintenant reste plus qu'a afficher le resultat dans le champs texte...
 
et sa m'énerve sa fait 2 jours que je suis dessus...et je bloque...


Est-ce que tu as moyen de voir les erreurs javascript ?
 
Sinon, ouvre ta page dans firefox et regarde dans la console d'erreur ...

n°1730342
necrolith
Posté le 09-05-2008 à 18:33:32  profilanswer
 

j'ai une question...je peux balancer mon ordi par la fenetre???
 
sa fait 2 jours que je cherche un truk...qui marche.
webexpert n'arrive pas a le faire marcher et pouf dans opera du premlier coup....
c'est a vouloir me rendre fou mdr
 
merci paulp sans toi j'aurais jamais réussi...
 
PS: entre temps j'ai rajouté un blocage qui empeche de remplir les champs avec autre choses que des chiffres (donc pas de lettres ni de virgule ^^)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Function JS calcul automatique des champs

 

Sujets relatifs
Calcul de tousles couts dans une matriceAjouter un nombre dans tous les champs
Formulaire --> Calcul automatique à partir de valeurs récupéréeschamps access
erreur function: imap_open()[RESOLU] Sauvegarde automatique SQL chez Free
Opération automatique sur fichier txt coté serveur!Fermeture automatique de fenêtre
[vba] a quoi sert la préocédure Function 
Plus de sujets relatifs à : Function JS calcul automatique des champs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR