Bonjour à tous,
Je cherche à faire une mise à jour dynamique d'un tableau de prix:
j'ai d'un coté un champ caché qui contient des les valeurs de boutons radio dont je récupère le contenu, puis en fais un Array, (jusque là c'est bon) mais quand je veux récupérer les champs de valeur qui correspondent à ces index de boutons radio je patauge.
Voici les quelques lignes commentées de ma fonction qui bloque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Pour info, je sors parfaitement les valeurs successives de xp_qty[i] et xp_pu[i] mais xl_opt_value[i] me donne une erreur. Il me semble que la double indexation de cette valeur en soit la cause... Mais je ne trouve pas.
Pourtant les champs existent bien dans la page.
dans ma page j'ai des champs de ce type :
Si vous avez de la lumière...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input type="hidden" name="xl_options_prefix_3[]" value="+"><input type="hidden" name="xl_options_value_3[]" value="30"> <input type="hidden" name="xl_options_prefix_4[]" value="+"><input type="hidden" name="xl_options_value_4[]" value="60">
Merci de m'avoir lu![]()
Partager