Crabece
Messages postés2Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 7 septembre 2008
-
5 sept. 2008 à 22:45
Crabece
Messages postés2Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 7 septembre 2008
-
7 sept. 2008 à 06:39
Bonjour à tous,
Je vous expose mon problème en essayant d'etre le plus claire possible :
Je travaille actuellement sur un site de vente en ligne et mon problème survient lors de la consultation du panier.
En gros voici un exemple de code retourné par php :
En prennant un exemple concret, je souhaite via JS récuperer et manipuler les valeurs de chaque champs.
Par exemple lorsque l'on change la quantité :
function remplissage(){
var id = document.panier.id.value;
var total = (document.panier.quantity+id.value * document.panier.prix+id.value);
document.panier.subtotal+id.value = total;
var total2 = '';
for(i=0;i<nbChampsSubtotal;i++) // calculer les subtotaux de chaque produits
{
total2 += document.panier.subtotal+id.value;
}
document.getElementById('resultat').innerHTML = total; //champs en bas de page qui fait les resultat de chaque subtotal
}
Bien sur le script ci-dessus ne marche pas à cause de la concatenation pour recuperer le nom de chaque champs, mais je pense que vous avez compris l'idée...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 sept. 2008 à 09:47
bonjour,
le plus "raisonnable" serait de changer les name.
quel que soit le langage pas simple de gérer des "variables" du style nom??? ou ?? est inconnu.
je te dirais bien de mettre des id "évolutifs" style qte1, pri1, qte2, pri2....
mais ça ne changerais rien coté serveurn où tu auras les mêmes soucis :
comment gérer $_POST['quantity????on_ne_connait_aps_la_suite???']
je te propose plutôt :
<form name="frm">
for ( var n=0; n< document.frm["qte[]"].length; n++ )
{ traitement de document.frm["qte[]"][n] et de document.frm["pri[]"][n] ... }
et coté php, $_POST['qte'] et $_POST['pri'] sont des Array
si tu n'a pas le choix, mais il vaudrait mieux !!!!
tu peux utilsier :
for ( n=0;n<frm.elements.length;n++)
{ if (frm.elements[n].type=="text")
{ si le name est du style "quantity123456789", en tirer le 123456789
pour en déduire prix123456789 }
}
même punition coté php