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

AJAX Discussion :

[AJAX] intégrer multiple onload


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Par défaut [AJAX] intégrer multiple onload
    bonjour, j'ai un problème sur le chargement de ma page.

    je veux faire appel à plusieurs fonctions lors du chargement de ma page.
    Seulement il n'y a qu'une seule fonction qui est chargée.

    J'ai vu plusieurs solutions du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="fonction1(); fonction2();">
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="init();">
    avec en javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function init()
    {
        fonction1();
        fonction2();
    }
    ou encore

    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
     function addEvent(obj_, event_, fct_) {
        if(obj_.addEventListener) {
            obj_.addEventListener(event_, fct_, true);    
        }
        else if(obj_.attachEvent) {
            if(/this\./g.test(fct_.valueOf())){
                obj_['on' + event_] = fct_;
            }
            else {
                obj_.attachEvent('on' + event_, fct_);
            }
        }
    }
     
    function startAll()
    {
        addEvent(window, "load", fonction1);
        addEvent(window, "load", fonction2);
    }
    Rien de tout celà marche.
    Est-ce que celà vient du fait que les fonctions que j'appelle vont faire appel à de l'ajax?

    (ces fonctions me permettent d'afficher des listes déroulantes dynamiquement.)

    Quelqu'un aurait-il une solution?
    merci de votre aide.
    (Désolé si je n'ai pas posté au bon endroit...)

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Qu'est-ce que tu as fait, et qu'est-ce qui ne marche pas?

    Car tout ce que tu as écrit me semble correct, l'erreur doit être ailleurs.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Par défaut
    A l'heure actuelle, j'ai ça :

    Sur ma page principale
    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
     
    <script type="text/javascript" src="js/recherche.js" charset="iso_8859-1"></script>
    <body style="font-family: verdana, helvetica, sans-serif; font-size: 85%" onload="startAll();" >
     
    Puis dans mon formulaire, 
    <tr>
                                <td><select name="servergrouplist" id="servergrouplist">
                                    <option value="--">- - - Choisissez un groupe de serveurs - - -</option>
                                    </select>
                                </td>
                            </tr>
                            <tr>
                                <td><select name="servicegrouplist" id="servicegrouplist">
                                    <option value="--">- - - Choisissez un groupe de services - - -</option>
                                    </select>
                                </td>
                            </tr>
    Dans mon script recherche.js

    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
     function addEvent(obj_, event_, fct_) {
        if(obj_.addEventListener) {
            obj_.addEventListener(event_, fct_, true);    
        }
        else if(obj_.attachEvent) {
            if(/this\./g.test(fct_.valueOf())){
                obj_['on' + event_] = fct_;
            }
            else {
                obj_.attachEvent('on' + event_, fct_);
            }
        }
    }
     
    function startAll()
    {
        addEvent(window, "load", getServerGroupList);
        addEvent(window, "load", getServiceGroupList);
     
    (avec dans le code mes fonctions getServerGroupList et getServiceGroupList)
    Si je prends les fonctions une à une. Cela fonctionne.
    }
    Si l'erreur n'est pas la dedans, je vais voir de revoir mes fonctions, mais pourquoi les fonctions marcheraient quand elles sont appelées indépendemment.

  4. #4
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function startAll()
    {
        getServerGroupList()
       getServiceGroupList()
    }
    Au moment ou startAll est exécutée, tu es déja dans ton evenement onload, donc c'est ici que tu dois exécuter tes fonctions.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function startAll()
    {
        getServerGroupList()
       getServiceGroupList()
    }
    Au moment ou startAll est exécutée, tu es déja dans ton evenement onload, donc c'est ici que tu dois exécuter tes fonctions.
    Ben... Je les appelles ici, ce n'est pas pareil ? (Désolé, je ne suis pas développeur. ah ah la bonne réponse de l'admin réseau...(ok je me tais))

    Ici en fait, (sous IE, il ne m'affiche que le contenu du résultat de ma fonction
    getServiceGroupList) pour le moment.
    Sous firefox, il m'affiche dans toutes mes listes déroulantes le résultat du contenu de ma fonction getServiceGroupList.

  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addEvent(window, "load", getServerGroupList);
    Quand tu écris ca, tu dis juste a l'interpréteur javascript d'exécuter la fonction getServerGroupList quand un evenement du type onload sera déclenché sur l'objet window. Or comme au moment ou tu exécutes ce code, tu es déja dans l'evenement onload de l'objet window, ben tes fonctions ne seront jamais exécutées.

    Si tu mets juste ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body style="font-family: verdana, helvetica, sans-serif; font-size: 85%" onload="startAll();" >
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function startAll()
    {
       getServerGroupList()
       getServiceGroupList()
    }
    ca devrait marcher.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Intégrer le support de l'AJAX dans un site existant
    Par lutecefalco dans le forum ASP.NET
    Réponses: 10
    Dernier message: 18/07/2007, 13h39
  2. [AJAX] Ajax et <body onload="..">
    Par Invité dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/03/2007, 13h06
  3. [AJAX] Checkbox multiple et AJAX
    Par Ouark dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/02/2007, 22h53
  4. [AJAX] Requêtes multiples
    Par sbk.no.gaara dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/08/2006, 16h43
  5. [AJAX] Ajax requêtes multiples
    Par Teufboy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/08/2006, 18h23

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