repartir un montant sur plusieurs champs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : repartir un montant sur plusieurs champs

repartir un montant sur plusieurs champs

par piotrowski-s » 20 juil. 2012, 11:11

Bonjour à toutes et à tous,

j'ai un soucis, en fait du moins je ne sais pas comment procéder. J'ai plusieurs champs laissant apparaître divers montant sous forme de poste chaque poste est identifié par une id exemple: p1, p2 , p3 etc...

c'est champs contiennent donc des montants,sous leur forme décimale.

ce que je souhaiterais faire. Car en fait je vais être amené à répartir un montant saisi dans un champ qui est un acompte.

c'est à dire que tant que le montant de l'acompte est >0 alors je le réparti sur les divers poste,

par exemple imaginons que j'ai p1=300, p2 = 120 et p3 = 50
et que j'ai un acompte pour un montant de 450 Euros, alors j'aurais
p1= 0 et le champs o1 (qui est le champs laissant apparaître ce qui a été imputé) 300
p2= 0 et le champs o2 120
p3= 20 et le champs o3 = 30

en fait j'ai essayé en faisant plusieurs conditions mais je m’emmêle les pinceaux.

voici ce que ça a donné:[javascript]script type="text/javascript">
function ventilation()
{
var montantacompte = document.getElementById("montantacompte").value;
var p1 = document.getElementById("p1").value;
var p2 = document.getElementById("p2").value;
var p3 = document.getElementById("p3").value;
var p4 = document.getElementById("p4").value;
var p5 = document.getElementById("p5").value;
var p7 = document.getElementById("p7").value;
var p8 = document.getElementById("p8").value;
var p9 = document.getElementById("p9").value;
var p10 = document.getElementById("p10").value;
var p11 = document.getElementById("p11").value;
var p12 = document.getElementById("p12").value;
var p13 = document.getElementById("p13").value;


if(p1>0 &&p1-montantacompte>=0)
{

f1=p1-montantacompte;
document.getElementById('p1').value=f1;
document.getElementById('o1').value=Math.round(montantacompte*100)/100;
}
if(p1>0 &&p1-montantacompte<=(p1+p2))
{
reste1=montantacompte-p1;
impute=p1;
impute2=reste1;
f1=m1-impute;
document.getElementById('p1').value=f1;
document.getElementById('o1').value=Math.round(impute*100)/100;
document.getElementById('o2').value=Math.round(impute2*100)/100;

}

}
</script>
[/javascript]
j'ai également essayé avec une boucle mais bon je m’emmêle également les pinceaux, mon faible niveau de javascript ne m'aide pas.

[javascript]<script type="text/javascript">
function ventilation()
{
var reste = document.getElementById("montantacompte").value;
var ac = document.getElementById("montantacompte").value;
var p1 = document.getElementById("p1").value;
var p2 = document.getElementById("p2").value;
var p3 = document.getElementById("p3").value;
var p4 = document.getElementById("p4").value;
var p5 = document.getElementById("p5").value;
var p7 = document.getElementById("p7").value;
var p8 = document.getElementById("p8").value;
var p9 = document.getElementById("p9").value;
var p10 = document.getElementById("p10").value;
var p11 = document.getElementById("p11").value;
var p12 = document.getElementById("p12").value;
var p13 = document.getElementById("p13").value;
var c = 1;
while(reste>0 && c<13)
{
if(reste> 'p'+c)
{
reste = 'p'+c - ac;
document.getElementById('p'+c).value=Math.round(honoraires*100)/100;
print reste;
}
}

</script>
[/javascript]

quoi qu'il en soit dans les deux cas je n'arrives pas à la mettre en place.

du coup, je ne sais pas car a chaque fois je n'arrives plus a avancer dans les deux cas.

par avance merci à toutes celles et tous ceux qui pourront m'aider à avancer.


Bien à vous.