Bonjour,
J'ai un souci au niveau de javascript, je fais un devis avec ajout de ligne en javascript code:
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
function choix() {
a = document.getElementById('produit').value;
//alert(a);
<?php
for($k = 0; $k < sizeof($b['lst']); $k++){?> //boucle sur les produits
if( a == '<?php echo $b['lst'][$k]->prodcode;?>' ){
// alert(a);
var newRow = document.getElementById('facture').insertRow(-1);
var newCell = newRow.insertCell(0);
newCell.innerHTML = '<input type="text" id="prodcode'+<?php echo $k;?>+'" name="prodcode'+<?php echo $k;?>+'" value="<?php echo $b['lst'][$k]->prodcode;?>">';
newCell = newRow.insertCell(1);
newCell.innerHTML = '<input type="text" id="shorttext'+<?php echo $k;?>+'" name="shorttex'+<?php echo $k;?>+'" value="<?php echo $b['lst'][$k]->shorttext;?>">';
newCell = newRow.insertCell(2);
qt = 'quantite'+<?php echo $k;?>;
newCell.innerHTML = "<input type=\"text\" id=\"quantite"+<?php echo $k;?>+"\" name=\"quantite"+<?php echo $k;?>+"\" value=\"\" onblur=\"change('quantite<?php echo $k;?>', '<?php echo $b['lst'][$k]->unitprice;?>', this.value);\" />";
newCell = newRow.insertCell(3);
newCell.innerHTML = '<input type="text" id="unit'+<?php echo $k;?>+'" name="unit'+<?php echo $k;?>+'" value="<?php echo $b['lst'][$k]->unitprice;?>">';
newCell = newRow.insertCell(4);
newCell.innerHTML = '<input type="text" id="total'+<?php echo $k;?>+'" name="total'+<?php echo $k;?>+'" value="">';
//document.getElementById('total').innerHTML = '';
}
<?php }?>
} |
La, tout se passe bien le problème arrive lorsque je rentre une quantité, celle-ci doit modifier le total de la ligne qui se fait sans problème mais doit aussi modifier le total général et la, problème car je n'arrive pas à récupérer les valeur de l'id="total'$k
pour se faire j'ai une fonction javascript qui à la modification du champ quantité devrait modifier les sommes:
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
function change(q, p, r){
var a = document.getElementById(q).value;
var num = q.substr(8,10);
//alert(num);
var nbr = <?php echo count($b['lst']);?>; // liste du nombre
alert(nbr);
var s = 0;
/*for(i = 0 ; i < nbr; i++){
if(document.getElementById('total'+nbr).value !=''){
somme = document.getElementById('total'+nbr).value;
s += somme;
}
}*/
var tot = a * p;
alert(r);
alert(tot);
document.getElementById('total'+num).value = tot;//somme de la ligne
document.getElementById('amount').value = somme;//somme générale de toutes les ligne
} |
Avez-vous une idée?