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 :

body onload avec l'ajax


Sujet :

JavaScript

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut body onload avec l'ajax
    bonjour a tous
    aïe! gros binz!

    j'ai une fonction js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function mouseClic(objId)
    {
     
       var exp = new RegExp("[^onglet]","gi");
       var n = objId.substring(objId.search(exp), objId.length);
       gestionOnglets(n);
    }
    et j'ai mon body
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body bgcolor="#CCCCCC" onload="mouseClic('onglet4')">
    et normalement ca me permet d'afficher l'onglet 4

    mais maintenant que je fais apparaitre les onglets par l'ajax(en effet il faut attendre que l'utilisateur clique sur un id d'un pseudo pour faire la requete ajax), le onload du body n'est plus pris en compte!!! donc, mon onglet 4 arrive fermé sur la page....



    COMMENT FAIRE pour se sortir de cette situation ma foi fort delicate????

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    je sais pas si c'est moi, mais ça semble pas limpide, comme description.

    Il semblerait qu'il faille déclencher le mouseClic('onglet4') à la fin de la fonction du onclick du pseudo choisi (à la fin du traitement de la réponse Ajax qui génère l'onglet 4), non ?

    A+

  3. #3
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    desole je vais essayer d'etre plus precis

    voila, donc une fonction js qui sert a afficher les onglets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function mouseClic(objId)
    {
     
       var exp = new RegExp("[^onglet]","gi");
       var n = objId.substring(objId.search(exp), objId.length);
       gestionOnglets(n);
    }
    maintenant j'ai une div-qui est en fait un onglet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div class="desactive aspectGeneral" id="onglet4"
     onclick="mouseClic(this.id)"> RENSEIGNEMENT GENERAL</div>
    qui permet a ce que quand on clique dessus, le contenu de l'onglet s'affiche...

    et dans mon body, il y a un onload pour par defaut que l'onglet4 affiche son contenu grace a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body bgcolor="#CCCCCC" onload="mouseClic('onglet4')">


    mais maintenant, mes onglets sont dans une page a part, et ils s'affichent via l'ajax....mais l'onglet 4 ne s'affiche plus par defaut, car le onload situé dans le body ne marche plus!

    comment faire pour que l'onglet 4 s'affiche par defaut siouplais? merci bien!

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par kaking Voir le message
    comment faire pour que l'onglet 4 s'affiche par defaut siouplais?
    Ajax n'est pas fait pour gérer des comportements par défaut au chargement de la page.
    Si ton onglet 4 doit être affiché au chargement, il faut gérer ça lors de la génération de la page par le serveur (y/c via des include, si tes onglets son codés dans des pages séparées) ...
    Pour les changements d'onglets ultérieurs, cf. ci-dessus.

    Ajax est très pratique pour gérer certains comportements qui ne seraient pas possibles autrement.

    Dans les autres cas, il permet uniquement de compliquer artificiellement et inutilement le code

    Lancer un appel Ajax sur le onload du body, c'est ...

    A+

  5. #5
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    ha


    bon





    baaaaaaaah....merci...

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    J'ai comme l'impression que ma réponse ne te convient pas

    Tu peux continuer à faire comme ça, mais ce n'est (à mon avis) pas la bonne solution.

    Si tu y tiens absolument (un challenge ?), il faut appeler ton mouseclic() juste après qu'Ajax t'ait créé ton nouvel onglet.
    En dernière ligne de ton onreadystatechange, quoi ...
    (vu qu'avant, l'onglet n'existe pas encore)

    A+

  7. #7
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut



    WOUHOUOUHOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU





    YIHAHOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU


    TOUTES LES TETES DANS LE BUREAU SE SONT RETOURNEES MAIS RIEN A F***RE

    MERCI

    MERCI BEAUCOUP CA MARCHE!!!!

    j ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     xhr.onreadystatechange = function() {
                    if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {					  
    					  document.getElementById("apDiv21").innerHTML = xhr.responseText;
    					  mouseClic('onglet4');
                    }

    et CA MAAAAAAAAARCHE

    super apres midi! on arrete pas de m'aider! un gros gros merci

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

Discussions similaires

  1. [AJAX] Ajax et <body onload="..">
    Par Invité dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/03/2007, 14h06
  2. body onload " .focus"
    Par vincedjs dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/02/2006, 11h21
  3. priorité des onload avec des iframes
    Par pekka77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/11/2005, 14h22
  4. [AJAX] Formulaire prépopuler avec du ajax dans la page
    Par shwin dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2005, 16h37

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