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

jQuery Discussion :

Fancybox - Ajax


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 146
    Par défaut Fancybox - Ajax
    Bonjour à tous, voici mon problème :

    Ma page web est constituée d'un menu sur la gauche, listant des bons de commandes. Lorsque je clique sur l'un d'entre eux, une requête ajax est effectuée et le résultat s'affiche au centre de l'écran. Ainsi, à chaque fois que je clique sur un bon de commande, ses détails s'affichent au centre de l'écran.

    Cependant, je voudrais que, lorsque je clique sur un élément du centre de l'écran, une fancybox s'ouvre.

    Tout cela marche parfaitement ... seulement pour le premier bon de commande sélectionné. A partir du moment où je clique sur un second bon de commande sur la gauche, la fancybox que j'essaie d'ouvrir à partir du contenu au centre ne s'ouvre pas. Idem si je clique sur un premier puis un second bon sans avoir ouvert aucune fancybox..

    En somme, dès que le contenu central de la page est actualisé une deuxième fois via Ajax, les fancybox ne veulent plus s'ouvrir.. Je le vois comme ça.

    En espérant trouver de l'aide.
    Merci d'avance à tous ceux qui prendront la peine de réfléchir dessus!

    PS : j'ai été obligé de mettre le code JS de ma fancybox (y compris les fichiers à inclure) dans le fichier Ajax et non dans la page d'accueil dont le contenu est modifié en Ajax, ce que je trouve étrange...

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    C'est difficile de t'aider comme ça. Essaye d'installer firebug. Tu pourras inspecter les erreurs rencontrées et l'état exact de toutes tes variables javascript.

    Si tu n'arrives toujours pas à régler le problème, donne-nous plus de détails sur ce que dit firebug

    bonne chance

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 146
    Par défaut
    Merci de ta réponse. Je suis sous mac et safari. J'ai bien le débugger mais je ne sais pas trop m'en servir.. Comment inspecter l'état du javascript en temps réel ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    firebug doit fonctionner dans safari normalement.

    Il faut regarder l'onglet DOM pour avoir l'état exact du javascript.

    Si tu veux connaître l'état à un moment particulier tu peux faire dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trucmachin = monObjetAEtudier; alert("stop");
    monObjetAEtudier peut aussi être this.
    Tu le trouveras ensuite dans l'onglet DOM soit dans les premières variables de la racine, soit dans celles de window.

    N'oublie pas le bouton "actualiser" de l'onglet DOM. Ca peut servir

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 146
    Par défaut
    Lorsque je reclique sur un lien censé ouvrir une fancybox et qu'il ne le fait pas, j'obtiens ceci dans la console :

    "TypeError: Result of expression 't' [undefined] is not an object."

    Et la ligne indiquée ne correspond à rien de censé dans le code. Si je supprime la partie de code concernée d'après le debugger, l'erreur s'affiche quand même mais à un autre endroit du code (elle est indiquée dans la ligne d'un commentaire -_- )

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    oui, firebug fait parfois un peu de la merde dans la localisation du problème. As-tu une variable t dans ton code, ou utilises-tu un librairie externe?

    Tu peux aussi utiliser firebug pour faire du pas à pas. Dans script, tu choisis une ligne de code un peu en amont du problème. Ensuite tu fais les actions qui génèrent ton bug. Firebug va bloquer l'execution au niveau de la ligne où tu as cliqué. Ensuite tu n'as plus qu'à cliquer sur la première flèche jaune pour voir tous les appels javascript.

    Dans la fenêtre de droite tu as l'état de toutes les variables.

    Bonne chance

Discussions similaires

  1. [AJAX] FancyBox : Conflit lors d'un appel Ajax
    Par mwa33 dans le forum AJAX
    Réponses: 0
    Dernier message: 06/08/2013, 14h01
  2. Réponses: 2
    Dernier message: 20/04/2012, 22h51
  3. [Plugin] FancyBox et ajax
    Par Marquo2 dans le forum jQuery
    Réponses: 4
    Dernier message: 26/07/2011, 11h21
  4. Requete Ajax via Jquery & FancyBox
    Par Warno dans le forum jQuery
    Réponses: 18
    Dernier message: 17/04/2010, 18h01

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