[javascript]

Fermé
kyuubi6 Messages postés 11 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 11 juin 2008 - 6 mars 2008 à 09:55
kyuubi6 Messages postés 11 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 11 juin 2008 - 6 mars 2008 à 16:16
Bonjour,
je suis face à un petit problème que je n'arrive malheureusement pas à résoudre :s, je suis entrain de faire en php,html,js, une fiche devis pour une société et pour l'encodage des articles j'ai une ligne et si on clique sur ajouter une nouvelle ligne apparait (on peut ainsi encoder un autre article).
le problème est que je n'arrive pas à récupérer les valeurs de la deuxième,troisième,... lignes à partir de mon code js.
Exemple : 1ere ligne : piece : 9€
2eme ligne : main d oeuvre : 50€

J'aimerais qu'il m affiche plus bas 59€.

Quelqu'un peut il m'aider

un tout grand merci d'avance.

5 réponses

sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
6 mars 2008 à 15:26
bonjour,

pourrais-tu nous donner la partie de code qui te donne les prix à l'écran ?
0
kyuubi6 Messages postés 11 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 11 juin 2008 1
6 mars 2008 à 15:30
voici la ligne qui ajoute dynamiquement mon champs prixtot :
newCell5.innerHTML = "<input type=text id=\"prixtot"+cpt2+"\" onkeyup='javascript:prix_totale("+cpt2+",\"prixunit"+cpt2+"\",\"qte_piece"+cpt2+"\")' name=\"prixtot"+cpt2+"\">";
je dois essayer de recuperer ces valeurs avec du js

c'est bien ce code que tu demandes?
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
6 mars 2008 à 16:03
Si tu connais le javascript tu peux alors faire une fonction qui va boucler sur un condition (trouvé).
Dans cette boucle tu as un comteur que tu incrémente à chaque fois que tu trouve et qui te permettra de retrouver l'un des champs avec son identifiant (document.getElementById(identifiant))
Si ce champ est trouvé, alors tu peux récupérer sa valeur est la stocker dans un tableau, et en plus laisser ta variable de condition à "true". Dans le cas contraire tu passe ta variable de condition à "false" pour sortir de ta boucle.

Bien sur au début de cette fonction il faut que tu initialise un tableau pour stocker tes valeurs, et retourner ce tableau à la fin de ta fonction (ou en faire ce que tu veux)
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
6 mars 2008 à 16:04
alors si on suppose que ton dernier input a pour id="total"
somme=0;
for(i = 1 ; i<=cpt2 ; i++)
{
somme = somme + getElementById("prixtot"+cpt2).value;
}
getElementById("total").value = somme;


dans le for, on boucle, pour parcourir tous les éléments (là j'ai supposé cpt2 partant de 1 en valeur initiale)
et a preès la boucle, a l'input appelé total, je donne la valeur de la somme des tous les éléments.
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
6 mars 2008 à 16:08
Voilà un exemple d'implémentation (à modifier / adapter un peu pour ton cas) :

function retrieveValues ( _label_ ){
   var prix = 0;
   var found = false;
   var i = 0;
   var elem = null;

   while ( !found ){
      elem = document.getElementById(_label_+i);
      if ( elem != null && elem ){
          // --- Champ trouvé, on va récupérer son nom et y associer sa valeur :
          prix += elem.value;  // --- A voir je ne sais plus si c'est correct
          // --- Et on incrémente l'indice de parcours des champs à trouver
          i++;
      }
      else
          // --- On met la condition d'arrêt à la valeur d'arrêt (ici true)
          found = true;
   }
   
   return prix;

}


La fonction te retournera le prix.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kyuubi6 Messages postés 11 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 11 juin 2008 1
6 mars 2008 à 16:16
je vous remercie tous les deux, je vais essayé ça :)
0