Partage
  • Partager sur Facebook
  • Partager sur Twitter

Actualiser une div par un bouton 'actualiser'

    16 novembre 2008 à 0:22:01

    Bonjour, je met a jour mes divs en Ajax via new Ajax.Updater(div,url,{method: 'get'})
    Seulement, soucis:

    Je m'explique,

    Admettons que j'ai 5 images sur ma page. Je leur met un évenement onclick sur chacune d'elle.
    Ainsi j'ai pour chaque image:
    <a onclick="new Ajax.Updater('div_one','index.php?s',{method: 'get'})"><img src"..." /></a>
    

    <div id="div_one">Cette div contient les 5 images issue d'une bdd</div>
    <?php
    if (isset($_GET['s']))
    {
        // Requette sql qui supprime l'image sur laquelle on a cliqué
    }
    ?>
    


    Quand je clic sur une image, coté serveur, l'image est bien supprimé de ma bdd parcontre coté client, j'ai toujours mes 5 images d'affichées et je dois faire un F5 pour afficher enfin les 4 images restantes.
    Moi j'aimerais apres le onclick mettre a jour directement la div et donc le nombre d'image a afficher sans faire F5.

    Comment faire?

    PS: n'étant pas très fort en javascript, j'utilise Prototype.
    • Partager sur Facebook
    • Partager sur Twitter
      16 novembre 2008 à 5:07:26

      je dirais que tu as un proble de cache
      donc fait des recherche pour eviter la mise en cache ;)
      • Partager sur Facebook
      • Partager sur Twitter
        16 novembre 2008 à 10:06:25

        Le plus propre étant déjà de rajouter tes paramètres de la bonne façon, donc avec l'attribut parameters, qui est une chaine.

        Ensuite regarde ce que tu fais, tu affiches tes images dans ton .php, puis ensuite tu la supprime si s existe. Fait donc l'inverse, fait tes operations de suppression et d'ajout directement avant leur affichage dans le code php. Question de logique simplement. Si tu affiche avant de supprimer effectivement il faudra actualiser. Ou alors, tu dois la supprimer directement dans le javascript. Un truc du style : $("tondiv").removeChild($("tonimage"));
        • Partager sur Facebook
        • Partager sur Twitter
          16 novembre 2008 à 14:49:52

          Angelus: Non c'est pas un problème de cache ^^

          askerat: T'as solution semble correcte même si je n'ai pas testée. Mais pour l'instant je fais ceci:
          <a onclick="new Ajax.Updater('div_one','index.php?s',{method: 'get', onComplete: function(t){new Ajax.Updater('div_one','index.php')}})"><img src"..." /></a>
          


          Alors le paramètre onComplete, soit ma fonction "t" s'éxécute quand la méthode Ajax.Updater est vraie et à la fin de la mise a jour de la div "div_One", soit après ma requete sql qui éfface l'image sur laquelle on a cliqué. Seulement, je trouve que sa fait un peu lourd. Que me proposerait tu exactement. Si possible avec un exemple car on Javascript je sèche fort. ;)
          • Partager sur Facebook
          • Partager sur Twitter

          Actualiser une div par un bouton 'actualiser'

          × 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