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 :

Ordre d'appel fonction Javascript


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut Ordre d'appel fonction Javascript
    Bonjour à tous,

    voici mon "petit souci".

    J'ai une combo-list CMB_01, qui lorsque l'on choisi une valeur, fait appel à FonctionCMB02() pour initialiser une deuxième combo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <select id="CMB_01" name="CMB_01" onchange="javascript:FonctionCMB02();AjoutValeurCMB02();">
    <OPTION selected></select>
    La première fonction (fonctionCMB02) sert à initialiser une deuxième combo, alimentée par des données externes. Cette fonction est utilisée sur différentes pages.
    Sur une seule page, j'ai besoin d'ajouter une ligne supplémentaire (en fait "Tous les produits").
    Du coup j'ai écrit une fonction, appelée AjoutValeurCMB02() qui ajoute en début de liste, la ligne supplémentaire. VOici le code de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function AjoutValeurCMB02()
    {
    	var o=new Option('Tous les produits','0000');
    	document.getElementById('CMBProduit').options[1]=o;
    }
    Mon problème, c'est l'appel qui est fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="javascript:FonctionCMB02();AjoutValeurCMB02();"
    , ne semble pas déclencher l'ajout de cette valeur... En effet, lorsque je choisi une valeur dans CMB_01, je veux que CMB_02 soir initialisée ET que la ligne supplémentaire soit ajoutée en début de liste CMB_02...

    Pb simple à priori, mais je dois me louper quelque part...

    Avez-vous une idée sur le comment déclencher systématiquement cette fonction ? (nb: si je fais un bouton avec un onclick, ma fonction est OK... mais ce n'est pas ce que je veux faire...)

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    l'index commence à 0!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Matthieu2000
    l'index commence à 0!
    oui, je sais, mais je veux dans ma combo, une ligne vide, puis ma ligne "tous", puis la liste de mes produits...
    D'ou la position 1...

    En clair, je souhaite faire une "insertion" dans la liste à une position donnée...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut Elément de réponse...
    ...après investigation dans mon code (en fait je fais des évols sur un dév fait par qlq'un d'autre... qui a monté une usine à gaz...), il s'avère que mes appels sont bons, mais le souci, c'est que l'appel de la première fonction passe un iFrame caché, qui initialise la deuxième combo.

    Donc le temps que le traitement se fasse, l'appel à la 2e fonction est déjà fait, et lorsque l'iFrame envoi la requête de construction de la combo, du coup il écrase la valeur initialement présente dans le tableau...

    C'est ce qui explique que de tps en tps j'ai quand même ce que je veux... il me faut donc trouver le temps de temporiser entre les 2 appels... ou autre...

Discussions similaires

  1. cgi/javascript : appeler fonction javascript dans code cgi, need help!
    Par Mr.ux dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2007, 07h33
  2. Réponses: 3
    Dernier message: 18/06/2007, 16h10
  3. appel fonction javascript
    Par neo-ex dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/06/2007, 21h37
  4. Appel fonction javascript
    Par calitom dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/05/2007, 18h28

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