En fait pour l'explication il s'agit d'un script qui doit répartir un montant en plusieurs postes.
Par exemple imaginons que j'ai 3 postes répartis tels que suit:
p1 = 1550 €
p2 = 200 €
p3 = 55 €
et que j'ai un paiement de 1600 €
alors la fonction traitera:
m1= 1500 € p1= 0 €
m2= 50 € p2= 150 €
m3= 0 € p3= 55 €
en fait les champs sur lesquels sont affiché les montants des postes
sont: p1, p2, p[n], [...], p[n+1],...p13
cela s'arrête à p13
de même tout est avec les id et les classes.
et les champs sur lesquels doivent s'afficher les montants imputés, sont de m1 a m13.
j'ai donc ce code javascript:
[javascript]
<script type="text/javascript">
function getItems()
{
var items = new Array();
var itemCount = document.getElementsByClassName("items");
for(var i = 0; i < itemCount.length; i++)
{
items = document.getElementById("p" + (i+1)).value;
}
return items;
}
function setItems(items)
{
for(var i = 0; i < items.length; i++)
{
document.getElementById("p" + (i+1)).value = items;
}
}
function payment(inputElm)
{
var items = getItems();
var payAmt = document.getElementById("montantacompte").value;
var i = 0;
while(payAmt != 0)
{
var temp = item - payAmt;
if(temp > 0)
{
item = temp;
break;
}
else if(temp < 0)
{
item = 0;
payAmt = temp*-1;
}
i++;
}
setItems(items);
}
</script>[/javascript]
la méthode est en onblur,
mais la j'ai le message ci dessous dans la console; je ne sais pas le déboguer:
Uncaught ReferenceError: item is not defined index.php:506
payment index.php:506
onblur
et aux lignes référencées j'ai cela:
ligne 506:
Code : Tout sélectionner
var temp = item[i] - payAmt;Code : Tout sélectionner
<input type="text" name="montantacompte" id="montantacompte" onblur="payment()" />je n'ai aucune interraction avec la bdd, aussi je n'ai pas besoin de ajax.
Par avance merci pour votre aide.