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 28 29 30 31 32 33 34 35 36 37 38
| function update_xp_price(){
var xp_pu = document.getElementsByName('xp_prix_u[]'); // la lecture des prix des produits
var xp_qty = document.getElementsByName('x_products_qty[]'); // la lecture des quantité des produits
var total = 0;
var prefix = 0;
var price_attr = 0;
var attrib_price = 0;
var attribut_val = new Array;
var attribut_pref = new Array;
var attributes = document.forms['cart_quantity'].GlobalAttributes.value; // ce champ contient les cases cochées séparées par un espace
attributes = attributes.substring(0, attributes.length-1); // on élimine le dernier séparateur
var attrib = new Array;
attrib = attributes.split(" "); // on splitte dans un tableau
var xl_opt_prefixe = new Array; //chaque option a 2 champs un préfixe (+ ou -)
var xl_opt_value = new Array; // une valeur
for(var j =0; j<attrib.length;j++){ // selon le nombre ce cases cochées (contenu de l'array attrib) on implémente la valeur
xl_opt_prefixe = document.getElementsByName('xl_options_prefix_'+j+'[]');// préfixe de chaque option
xl_opt_value = document.getElementsByName('xl_options_value_'+j+'[]'); // valeur de chaqe option
for(var i =0; i<xp_pu.length;i++){ //ici on compte le nombre de prix produit xp_pu[] ce qui permet de faire une boucle
quantity = return_val(xp_qty[i]); //la quantité pour chaque produit (ceci est OK)
price = return_val(xp_pu[i]); //le prix pour chaque produit (ceci est OK aussi)
//###### la fonction return_val me donne le contenu .value de chaque champ et ça fonctionne très bien pour ces deux champs
attrib_price = return_val(xl_opt_value[i]); // c'est là que ça ne va plus !!! la variable xl_opt_value[i] ne me retourne rien via ma fonction de lecture de .value
if(!isNaN(quantity) && !isNaN(price)){
sous_total = quantity * (price + attrib_price); // ICI j'aurai aimé que mon attrib_price vale quelque-chose !
total+=sous_total;
get_obj('Prix'+i).innerHTML = sous_total+' TTC'; //j'affiche le sous-total par produit (q*p)
}
}
}
if(get_obj('TotalXP')) get_obj('TotalXP').innerHTML=total+' TTC'; // j'affiche le total du tableau
} |