Mise à jour de champs de formulaires

Signaler
Messages postés
3
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
28 avril 2005
-
Messages postés
45
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
21 septembre 2006
-
Hello,

J'ai un petit pb pour finaliser une page qui doit me permettre de générer des factures html.

Pour calculer le montant total d'une ligne je fais

function calculate()
{
document.cart.total1.value = dp((document.cart.puht1.value)*(document.cart.qte1.value))
}

mais pour que ce calcul soit exact, j'ai dabord besoin de définir document.cart.puht1.value en fonction del'article sélectionné dans le menu déroulant... et pour ça je voudrais pouvoir faire un truc dans le genre :

temp=document.cart.article1.value (cela correspond à l'id de la'rticle sélectionné)
temp2='document.cart.art'+temp+'.value' (le champ caché art"id" a comme valeur le prix de l'article)

Le problème si je fais cela c'est que la valeur temp2 est ensuite comprise comme une chaîne de caractères et donc temp2 = document.cart.art3.value par exemple si l'id de l'article sélectionné dans le menu déroulant est 3

Question : comment faire pour que temp2 correspondent bien à la valeur du champs art3 dans l'exemple ci-dessus ?

Je ne sais pas si je suis très clair dsl... et merci par avance si vous me comprenez et que vous pouvez solutionner mon pb !!

2 réponses

Messages postés
536
Date d'inscription
lundi 5 mai 2003
Statut
Membre
Dernière intervention
29 janvier 2009
1
Salut !

Il faut que t'utilise la fonction eval() pour faire le lien entre la chaine de char et le nom de la variable !

eval('document.cart.art'+temp+'.value');

voila !
a+++
Messages postés
45
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
21 septembre 2006

salut, ça ça marche sinon


function a(){
temp=document.cart.article1.value
;
var temp3='art'+temp;


var temp2=document.getElementById(''+temp3+'').value;
alert(temp2);


}