Addition des saisies dans un champs text

Résolu
Anthotill Messages postés 127 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 13 mars 2010 - 25 juin 2007 à 17:43
the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 - 11 juil. 2007 à 16:00
Bonjour

J'ai une page avec 4 champs text dans lequel se trouvera des valeurs numériques et un dernier champs qui additionnera la saisie des 4 précédents champs.

Je voudrais savoir comment faire pour que lorsque j'inscrit des chiffres dans ces quatres champs, les chiffre inscrits viennent s'additionner dans un dernier champs.

Merci beaucoup :-)

Antho

11 réponses

the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
26 juin 2007 à 10:19
En fait voilà après tests c'est pas bien compliqué...

   
   
   
   
   

<script language="javascript" type="text/javascript">
<!--
 function addition(){
    var inputs = document.getElementById('container').getElementsByTagName('input');
    var somme = 0;    for(var i 0, length inputs.length; i < length - 1; i++){
        var value = inputs[i].value;
        if(isNaN(value)){
            inputs[i].value = value.substring(0, value.length - 2);
            return false;
        }else{
            somme += parseInt(value);
        }
    }
    inputs[inputs.length - 1].value = somme;
    return true;
}
-->
</script>
cdlt,
Pierrick
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juin 2007 à 09:53
Bonjour,
    à priori utiliser onblur sur les champs de saisie.
    une addition tu sais faire ?   montre nous où tu en est on t'aidera à finir...
<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
26 juin 2007 à 09:57
Bonjour,
une solution que je ne prétend pas déclarer comme la mieux, mais en attendant:
tu déclares tes quatres champs comme ceci:

   
   
   
   
   

<script language="javascript" type="text/javascript">
<!--
function addition(){
var inputs = document.getElementById('container').getElementByTagName('input');
var somme = 0;for(var i 0, length inputs.length; i < length - 1; i++){
var value = inputs[i].value;
if(isNaN(value)){
inputs[i].value = value.substring(0, value.length - 2);
return false;
}else{
somme += parseInt(value);
}
}
inpus[inputs.length - 1].value = somme;
return true;
}
-->
</script>

Pas testé, mais a essayer...
Cdlt.
Pierrick
0
the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
26 juin 2007 à 09:58
Oups... désolé bultez trop rapide... et moi mère thérésa.
sorry
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
26 juin 2007 à 09:59
Et onblur pas onkeyblur bien sur...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juin 2007 à 10:14
normal que je sois passé en 1er the_wwt, je n'ai fais que donner
        des indications et toi une réponse ( pas testé non plus ).
j'aurais fait autrement d'ailleurs ( comme quoi, toujours 659874 possibilités )
<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
Anthotill Messages postés 127 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 13 mars 2010
26 juin 2007 à 19:55
Merci bien, je vais tester :)

PS: j'ai du toucher javascript deux fois dans ma vie moi je code php /sql et j'ai décidé d'ajouter un petit plus a mon script alors je ne t'aurais pas montrer grand chose a par mon code html :)

Antho
0
cs_nyko07 Messages postés 2 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 11 juillet 2007
11 juil. 2007 à 14:26
Super merci pour cette fonction, mais j'aimerai avoir un petit renseignement qui ne doit pour vous pas être très compliqué..

Voila, je voudrais savoir comment je pourrai utiliser cette fonction "addition" pour soustraire au lieu d'additionner plusieurs valeurs de champs texte???

En esperant être clair dans ma requêtte.

Tchoa
0
the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
11 juil. 2007 à 15:37
Bonjour [auteurdetail.aspx?ID=617556 nyko07]
,
Dis donc si t'es arrivé jusqu'ici, tu as du comprendre le code un minimum...
Pousse un peu plus ta reflection....;-)
Allez, un coup de pouce, quand tu verras un "+=" essaye "-=".
Et change addition par soustraction.
Cordialement,
Pierrick
0
cs_nyko07 Messages postés 2 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 11 juillet 2007
11 juil. 2007 à 15:40
Bonjour, Pierrick....

Merci pour l'info et comme tu dis j'ai pousser un peu plus loin dans le code après mon post... mais avant de donner la réponse je tiens a te dire que j'avais deja essayé ta solution avant de venir ici! Tout aurait été bien plus simple s'il avait fallut changer que ça...
Alors voila la solution final, qui marche a merveille chez moi :

function soustraction(){
  var inputs = document.getElementById('container').getElementsByTagName('input');
  var somme = inputs[0].value;  for(var i 1, length inputs.length; i < length - 1; i++){
   var value = inputs[i].value;
   if(isNaN(value)){
    inputs[i].value = value.substring(0, value.length - 2);
    return false;
   }else{
    somme -= parseInt(value);
   }
  }
  inputs[inputs.length - 1].value = somme;
  return true;
 }
0
the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
11 juil. 2007 à 16:00
Bonjour,
je tiens à préciser que pour qu'un code soit clair, le nom des variable doit l'etre aussi.
Si tu fais une soustraction, ce n'est plus une somme mais une différence.
Je post ce commentaire pour préciser que cette fonction plante si l'utilisateur ne rentre pas un nombre dans le premier input.
A cause de l'initialisation de la variable somme qui ne le vérifie pas.
La correction serait:

function soustraction(){
  var inputs = document.getElementById('container').getElementsByTagName('input');
  var diff = 0;
   if(isNaN( inputs[0].value)){

      inputs[0].value = value.substring(0, inputs[0].value.length - 2);

      return false;

   }else{
       diff  = parseInt(inputs[0].value);
  }
         for(var i 1, length inputs.length; i < length - 1; i++){
   var value = inputs[i].value;
   if(isNaN(value)){
    inputs[i].value = value.substring(0, value.length - 2);
    return false;
   }else{
    diff  -= parseInt(value);
   }
  }
  inputs[inputs.length - 1].value = diff  ;
  return true;
 }

Voilà c'est pas testé, mais étant donné le niveau de complexité, on s'en passera.
Sujet clos.
Cordialement,
Pierrick
0
Rejoignez-nous