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 :

Ouverture d'une fenetre modal en AJAX et rechargement JS


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 10
    Par défaut Ouverture d'une fenetre modal en AJAX et rechargement JS
    Bonjour,

    j'ai créer une administration ou j'ouvre des fenêtres modal(bootstrap) en ajax.
    Je rencontre un problème à la deuxième ouverture d'une fenêtre le jquery / javascript n'est plus pris en charge.

    Je dois du coup recharger la page complète pour quel e JS soit de nouveau fonctionnel sur la première ouverture.

    Avez vous une solution ?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Tout ce qui est chargé dynamiquement ne reçoit pas les attributions d'evenements que tu as pu mettre sur le onload.

    Tu dois soit attribuer avec un .on()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .on([parent], [enfant cible], [function]);
    ou alors avec un .delegate()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 10
    Par défaut Voila mon script
    Voila mon code qui permet d'ouvrir des fenetres modal en ajax :
    je dois précisé le on() ici ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    <script type="text/javascript">
    $('[data-load-remote]').on('click',function(e) {
        e.preventDefault();
        var $this = $(this);
        var remote = $this.data('load-remote');
        if(remote) {
    		     		$($this.data('remote-target')).load(remote);
     
        }	
     
    });
    </script>

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Sur le principe, oui. Par contre je ne sais pas si le sélecteur $('[data-load-remote]') correspond à quelque chose de valide en jQuery. Dans la doc la syntaxe qui utilise "[]" est [name*=”value”]. Je ne peux pas non plus garantir la suite de ton code non plus, mais le principe de la fonction .on est correcte.

    @SpaceFrog dans le lien que tu donnes on lit que delegate() est dépréciée au profit de .on avec une syntaxe équivalente.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    en me relisant j'ai dit n'imp pour la syntaxe du on()


    Je rectifie donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $([parent]).on([event], [enfant cible], [function]);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 10
    Par défaut Précision
    Bonjour,

    pour moi l'ouverture des fenetres modal ajax fonctionne se qui ne fonctionne pas à partir de la deuxième ouverture c'est le javascript dans la fenêtre modal.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/05/2011, 18h11
  2. Réponses: 47
    Dernier message: 24/10/2005, 09h43
  3. Réponses: 11
    Dernier message: 03/08/2005, 19h23
  4. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17
  5. Réponses: 2
    Dernier message: 24/03/2004, 10h22

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