IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

comportement de ma fonction


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Par d�faut comportement de ma fonction
    Petit screen de ma page:


    La fonction qui me pose probl�me:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function copier_ligne(id_magasin)
    {
    	for(i = 0; i < nb_articles; i++){
    	   if(document.getElementById('qte_'+id_articles[i]+'_'+id_magasin).value != "")
    	   {
    	   		document.getElementById('qte_'+id_articles[i]+'_'+(id_magasin+1)).value = document.getElementById('qte_'+id_articles[i]+'_'+id_magasin).value;
    decompte(id_articles[i]);
    	   }
    	}
    document.getElementById('qte_'+id_articles[0]+'_'+(id_magasin+2)).focus();	
    }
    Lorsque je retire la ligne avec decompte(id_articles[i]); le script me copie bien toute la ligne mais ne met pas a jour mes champs Stock puisque je n'apelle pas ma fonction.
    Cependant, si je met la fonction d�compte, le script ne me copie que la premi�re valeur avec le d�compte qui marche.

    Je vous montre ma fonction d�compte au cas ou:
    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
     
    //Fait le décompte pour un article en calculant la somme des qté article pour chaque magasin
    function decompte(id_article)
    {
    var somme = 0;
    /*var calculer = false;*/
     
       for(i = 0; i < nb_magasins; i++){
     
            if(!isNaN(document.getElementById('qte_'+id_article+'_'+(i+1)).value))
    		   {
    			  somme += Number(document.getElementById('qte_'+id_article+'_'+(i+1)).value);
    		   }  
     
     
       }
       if(somme <= qte_stock[id_article])
    	 {
    	    document.getElementById('valeur_stock_'+id_article).value = qte_stock[id_article] - somme;
    		nb_inputs = Math.ceil(nb_magasins / 20);
    		for(i = 1; i < nb_inputs; i++){
    		   document.getElementById('repeat_'+i+'_'+id_article).value = document.getElementById('valeur_stock_'+id_article).value;	
    		}
    	 }
     
    }

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(i = 0; i < nb_magasins; i++)
    La variable nb_magasin, elle sort d'o� ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut
    Ton probl�me vient de la port�e globale de ta variable i utilis�e dans tes boucles for. decompte est appel� au sein d'une boucle for et cr�e lui aussi une boucle for; et � chaque fois c'est i qui varie

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    for (i=0; ...) {
        //decompte
        for(i=0;...) {
            ...
        }
    }
    Cr�e i local � chaque boucle:
    ERE

Discussions similaires

  1. Comportement de la fonction Replace
    Par syntax_error dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 05/11/2010, 17h19
  2. Comportement de la fonction get_class_vars
    Par BenFett dans le forum Langage
    R�ponses: 2
    Dernier message: 11/02/2010, 15h53
  3. comportement de la fonction mailto
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 12
    Dernier message: 19/01/2010, 08h19
  4. Comportement de la fonction MINUS
    Par Philomelo dans le forum Langage SQL
    R�ponses: 9
    Dernier message: 28/05/2009, 23h40
  5. comportement de la fonction strtok()
    Par Arronax dans le forum C++
    R�ponses: 3
    Dernier message: 15/04/2008, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo