Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de DOM charger via une requete ajax

    12 février 2010 à 8:21:54

    Bonjour les Zéros ,
    bon, mon problème le voici : j'utilise la librairie jquery pour faire du ajax. Lorsque ma requête ajax est complétée, le fragment de code html reçu est injecté dans la page qui a servie pour la requête ajax.Le fragment de code en question contient un lien à qui j'ai donné une class et un id. Ce lien doit aussi faire appèle à une fonction pour charger des donnée mais toujours avec ajax après l'événement click. sauf que là ça bloque, rien ne se passe. je sais bien que c'est due au fait que jquery parse le DOM au chargement complet de la page ! Mais comme dire à jquery de prendre en compte mon nouveau fragment de code html et de faire comme s'il faisait parti intégrante de l'ancien DOM altéré ? Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      12 février 2010 à 8:23:19

      On peut voir ton code ?

      A quel moment attribues-tu le onclick ?
      • Partager sur Facebook
      • Partager sur Twitter
        12 février 2010 à 8:50:26

        ok voici les code des fichiers concernés !
        //fichier ajax.js
           $(document).ready(function(){
               $(".fdiv a.read").click(function(){
        		var newsId = $(this).attr("href");
        		var idToload = 'id=' + newsId;
        		displayLoading();
        		$.ajax({
        			type: "POST",
        			url: "core.php",
        			data: idToload,
        			dataType: "html",
        			success:
        				function(NouveauCodeHtml){
        					  $(".notification").ajaxComplete(
        						function(event, request, settings){
        							$(this).empty();
        							$(this).append("<div class='sucess'>Requette completee avec success !</div>");
        							$(".fdiv").empty();
        							$(".fdiv").append(NouveauCodeHtml);
        							hideLoading();
        							return false;
        						}
        					);return false;
        				}
        		})
        	});
        
                $("#IdDuLienContenu_dans_NouveauCodeHtml").click(alert("Ok"));
            })
        

        ********************************

        <?php
        //fichier index.php
        /*
        ...
        */
        ?>
        <div class="notification"></div>
        <div class=".fdiv">
          <a href="#" class="read" id="IdPourRequteSQL">voir</a>
        </div>
        

        ********************
        <?php
        //fichier core.php de la requête ajax
        /*
        .....
        */
        echo "<a href='#' id='#IdDuLienContenu_dans_NouveauCodeHtml'>Click me</a>";
        ?>
        
        • Partager sur Facebook
        • Partager sur Twitter
          12 février 2010 à 8:56:52

          Bah pourquoi tu mets pas ta ligne 28 du JS dans la fonction de success ?

          (Je sais pas si c'est une faute de frappe mais ton id du lien commence par un # ?)
          • Partager sur Facebook
          • Partager sur Twitter
            12 février 2010 à 9:13:03

            pour # du id c'est une erreur de frappe ! je viens de tester ta suggestion; la boite de dialogue alert s'affiche avant même que ajaxComplete ne s'arrête ! et même après chargement; l'évènement du click ne marche pas.
            • Partager sur Facebook
            • Partager sur Twitter
              12 février 2010 à 10:04:39

              Montre ton changement.

              EDIT :
              Et puis je comprends pas bien pourquoi tu fais un événement ajaxComplete dans le success non ... ?
              Que cherches-tu à faire avec ça ?
              • Partager sur Facebook
              • Partager sur Twitter

              Problème de DOM charger via une requete ajax

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown