Partage
  • Partager sur Facebook
  • Partager sur Twitter

Appel AJAX .load() jquery ne fonctionne

qu'une seule fois

    10 janvier 2015 à 23:09:54

    Bonjour,

    Sur le site que je développe en ce moment, j'ai une liste de membres qui est affichée et pour chaque membre, il y a un bouton qui permet de supprimer ce membre:

    <button value="<?php echo $value['id']; ?>" class="dellMembre">Supprimer</button>

    J'ai ma fonction jquery en bas de page qui fait un GET pour supprimer le membre en question et mettre à jour une partie de la page (ici la classe contentWrapper).

    <script>
    	$('.dellMembre').on('click', function() {
    	var value=$(this).attr('value');
    	console.log(value);
    	$('.contentWrapper').load("index.php?section=deleteMembres&delete=" +value+" "+".contentWrapper");  
    	});
    	</script>

    Cette fonction fonctionne bien :) mais ... une seule fois; en effet une fois que la page est mise à jour grâce à ce script les boutons ne fonctionnent plus :(
    Le problème semble uniquement provenir de cette ligne de code car ...

    $('.contentWrapper').load("index.php?section=deleteMembres&delete=" +value+" "+".contentWrapper");

    si j'enlève cette ligne le console.log(value) fonctionne tout le temps lorsque j'appuie sur tout les boutons.

    Pour que la fonction fonctionne à nouveau, je suis obligé de rafraîchir la page manuellement.

    Auriez-vous une solution ?
    Merci beaucoup ! :D et bonne soirée

    • Partager sur Facebook
    • Partager sur Twitter
      11 janvier 2015 à 0:50:47

      Salut je pense que tu devrais plutot utiliser la fonction $.post(). la fonction load  comme son nom l'indique charge le contenue d'une page.

      La fonction post fais un post submit ajax.  essaye e dit si sa fonctionne mieux

      http://api.jquery.com/jquery.post/

      • Partager sur Facebook
      • Partager sur Twitter
        11 janvier 2015 à 1:23:51

        Greg Bee a écrit:

        la fonction load  comme son nom l'indique charge le contenue d'une page.


        C'est pourtant bien ce que je cherche à faire CAD mettre à jour une partie page sans recharger le reste complétement

        Greg Bee a écrit:

        La fonction post fais un post submit ajax. essaye e dit si sa fonctionne mieux


        En lisant ce cours et plus particulierement cette page, il me semble que la fonction load et post soient extrêmement proche

        http://openclassrooms.com/courses/simplifiez-vos-developpements-javascript-avec-jquery/plus-loin-avec-ajax

        Je testerai quand même demain


        • Partager sur Facebook
        • Partager sur Twitter
          11 janvier 2015 à 2:00:02

          Oui car .load()  et .post() se ressembleet en effet je pense pas que le souci soit de la . Ces plus une question de bonne pratique toutes actions qui altère les données doivent etres faite avec la methode post et load utilise la methode get.  

          Ton .load()  te renvoi quoi ? La nouvelle liste des membres ?

          $('body').on('click','.dellMembre', function() {
              var value=$(this).attr('value');
              console.log(value);
             $.post( "index.php?section=deleteMembres", {id : value})
            .done(function( data ) {
              $('.contentWrapper').html(data);
            })
            .fail(function(data){
             alert('error');
            })
            });
           });

          -
          Edité par Greg Bee 11 janvier 2015 à 9:26:10

          • Partager sur Facebook
          • Partager sur Twitter
            11 janvier 2015 à 21:31:20

            Mon load() renvoie la nouvelle liste de membres.

            Merci beaucoup ça fonctionne nickel :D ! L'erreur semblait provenir du DOM par rapport à la première ligne

            $('.dellMembre').on('click', function() {



            • Partager sur Facebook
            • Partager sur Twitter
              21 juillet 2017 à 20:38:06

              d

              -
              Edité par Tyrion90 21 juillet 2017 à 20:38:58

              • Partager sur Facebook
              • Partager sur Twitter

              Appel AJAX .load() jquery ne fonctionne

              × 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