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 :

Lib:jquery / ciblage d’id / lien


Sujet :

jQuery

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Points : 66
    Points
    66
    Par défaut Lib:jquery / ciblage d’id / lien
    Bonjour,
    J’ai un petit souci à cause du ciblage d’id avec le Protocol ajax.
    (J’utilise la libraire jquery 1.3.2)
    Mon but : faire apparaitre le contenu d’une page avec des liens (de manière asynchrone « ajax ») et et que ces même liens puisse être utilisé aussi.
    Voila dans mon fichier index.php
    Code 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
    <script src="template/js/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    $(document).ready(function()
     {
      $("#ajout").click(function () {
    	$("#boite_g").load("manager/import.php");});//chagement du menu choix
      <!--fonction d'ajout du texte-->
      $("#ajout_texte").click(function () {
         alert("plop!");
    	});
    }); 
    //-->
    </script>
    Code HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <a href="#ajout_modul" id="ajout" class="button"><span class="add">Ajout d'un module</span></a>
    <div id="boite_g">
    </div>
    <a href="#" id="ajout_texte" class="button"><span class="new_texte">Nouveaux texte</span></a>
    Voila le fichier import.php
    Code HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <table border="0" cellspacing="1" cellpadding="0">
      <tr>
        <td width="100px"><a href="#" id="ajout_texte" class="button"><span class="new_texte">Nouveaux texte</span></a></td>
        <td width="100px"><a href="#" class="button"><span class="new_tableau">Nouveaux tableau</span></a></td>
        <td width="100px"><a href="#" class="button"><span class="new_gi">Nouvelle Gestion d'image</span></a>
    </td>
      </tr>
    </table>
    Mon problème c’est que le message « plop » produit par l’alerte (« plop ») ne fonctionne pas dans les lien charger de manière asynchrone mais marche avec le lien déjà charger.
    Je voudrais bien savoir si c’est possible que les lien charger de manière asynchrone puisse interagiravec le code js déjà établie sur la page et si oui comment faire .
    Merci d’avance pour votre aide
    Cordialement
    vincent

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut,

    Sujet maintes fois traité


    Et un petit lien vers la FAQ
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Points : 66
    Points
    66
    Par défaut
    Merci de ta réponse
    Dls d’avoir posé une question inutile^^ et minentes fois traité ^^ mais cependant je ne vois pas bien comment faire et dans la recherche je n’est rien trouver (en se qui concerne une adaptation a jquery).
    J’ai fait ceci mais ça ne marche pas je ne dois pas bien m'y prendre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!--
    $(document).ready(function()
     {
      $("#ajout").click(function () {
    	$("#boite_g").load("manager/choix.php");});//chagement du menu choix
      <!--fonction d'ajout du texte-->
        xhr.onreadystatechange = function(){
    	if(xhr.readyState == 4 && xhr.status == 200){
    		document.getElementById('ajout_texte').innerHTML = xhr.responseText;
    		afterAjax();}}
    	$("#ajout_texte").click(function () {
    	 alert("plop!");
    	});
    });

  4. #4
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Points : 66
    Points
    66
    Par défaut
    petit up voila le code :
    je ne voix pas trop comment déclarer la fonction afterAjax();

    voila ce que j'ai tenté mais sans conviction .... d'ailleurs ça ne marche pas ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $(document).ready(function()
     {
      $("#ajout").click(function () {
    	$("#boite_g").load("manager/choix.php");});//chagement du menu choix
      <!--fonction d'ajout du texte-->
    	$("#ajout_texte").click(function () {
    	 alert("plop!");
    	 afterAjax();
    	});
    });
    Si quelqu'un à une idée

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 151
    Points : 154
    Points
    154
    Par défaut
    Le problème, c'est que $('#ajout_texte').click( ... ) n'affecte que les éléments existants, et pas aux éléments créés par la suite (via ton load).
    Je vois 2 solutions :
    - soit tu réaffectes les évènements après le chargement de choix.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $('#boite_g').load('manager/choix.php', function(){
        // code exécuté une fois le chargement effectué
        $('#ajout_texte').click(function(){
            alert('plop');
        });
    })
    - soit mieux, utiliser la fonction live, dispo depuis jQuery 1.3, qui affecte les éléments existants ET ceux créés après.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('#ajout_texte').live('click', function(){
        alert('plop');
    })

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Si ta fonction doit etre lancée apres l'exécution de ta requete Ajax, il te faut la mettre en "callback" de ta requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(document).ready(function(){
      $("#ajout").click(function () {
        $("#boite_g").load("manager/choix.php","",function () {
          alert("plop!");
          afterAjax();
        });
      });
    });

  7. #7
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Points : 66
    Points
    66
    Par défaut
    merci beaucoup pour vaux réponses ça marche nikel

    et hop résolu

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

Discussions similaires

  1. google libs jquery
    Par programmatrice dans le forum jQuery
    Réponses: 4
    Dernier message: 27/04/2012, 10h03
  2. JQuery min fait planter les liens html?
    Par dragonxav72 dans le forum jQuery
    Réponses: 2
    Dernier message: 15/04/2012, 16h56
  3. Réponses: 12
    Dernier message: 20/01/2012, 10h22
  4. "Avertissement" sur la lib Jquery
    Par bastouneco dans le forum jQuery
    Réponses: 2
    Dernier message: 21/06/2010, 23h04
  5. Réponses: 4
    Dernier message: 02/06/2008, 11h51

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