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

AJAX Discussion :

[AJAX] Actualiser une image sans actualiser la page


Sujet :

AJAX

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 51
    Points
    51
    Par défaut [AJAX] Actualiser une image sans actualiser la page
    Bonjour,

    J'essaye en vint d'actualiser une image (au clique) sans pour autant recharger la page entière. L'idée est de proposer la sauvegarde d'annonces par l'intermédiaire d'une image cliquable et de changer cette image par une autre lorsqu'elle a été cliqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //le coockie est présent sur le pc du client
    if(isset($_COOKIE['moncookie']) AND in_array($annonce['id'],$_COOKIE['moncookie'])){
    echo '<img src="/images/etoile_rouge.png" alt="Annonce sauvegardée!"/>';
    }
    //le cookie est absent
    else {
    echo '<a onmousedown="return clk(\''.$id.'\')"><img src="/images/etoile_vert.png" alt="Sauvegarder cette annonce?"/></a>';
    }
    Ma fonction actuelle clk :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      <script type="text/javascript">
    <!--
       function clk(id)
       {
          (new Image()).src="/page.php?id="+id;
    	  alert("Annonce sauvegardée!");
    	  document.location.reload();
          return true;
       }
    //-->
    </script>
    Je pense que ça doit ce faire en ajax mais je suis totalement nul dans ce langage...et un petit coup de pouce ou une bonne orientation vers un tuto super détaillé serait bienvenu.

    Merci

  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 : 54
    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
    Je pense que ça doit ce faire en ajax mais je suis totalement nul dans ce langage
    AJAX n'est pas un langage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.location.reload();
    si tu ne veux pas recharger la page, pourquoi faire un reload() ?

    D'autre part,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (new Image()).src="/page.php?id="+id;
    Là tu crées seulement une image, mais elle n'a rien à voir avec ta page...

    Ceci dit, cela peut se faire sans l'aide d'AJAX.
    Le truc est que l'image est mise en cache, donc si tu te contente de réaffecter le src, c'est l'image du cache qui va être récupérée, il faut donc contourner le cache en ajoutant un paramètre de type timestamp.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 51
    Points
    51
    Par défaut
    Quelle est le terme à utilisé pour Ajax si ce n'est pas un langage ?

    Sinon, le code que j'ai posté est juste là pour montrer le fonctionnement actuel de ma page lié aux cookies (d'ou le "document.location.reload();").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (new Image()).src="/page.php?id="+id;
    Là tu crées seulement une image, mais elle n'a rien à voir avec ta page...
    En faite ce bout de code me permet de transmettre l'id de l'annonce vers page.php ou il est "transformé" en cookie.

    Pour le reste, je n'ai pas compris l'histoire du cache et du timestamp?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Points : 72
    Points
    72
    Par défaut
    Je pense le plus simple est quand même d'utiliser de l AJAX avec Jquery
    http://stackoverflow.com/questions/5...e-using-jquery

  5. #5
    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 : 54
    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
    Citation Envoyé par misakilou Voir le message
    Je pense le plus simple est quand même d'utiliser de l AJAX avec Jquery
    http://stackoverflow.com/questions/5...e-using-jquery
    Pour actualiser une image ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image.jpg" onclick="this.src=this.src.split('?')[0]+'?tt='+new Date().getTime()" />
    tu crois que jQuery sera plus efficace ?

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 51
    Points
    51
    Par défaut
    Bon, malgré mon acharnement à comprendre, j'y pige rien Je ne comprend pas vos codes ni la "relation" avec les cookies?

Discussions similaires

  1. Recharger une image sans recharger la page
    Par willyg28 dans le forum jQuery
    Réponses: 2
    Dernier message: 04/04/2012, 18h31
  2. Changer une image sans recharger la page
    Par stiiX13 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/05/2009, 21h21
  3. Mettre une alerte sans actualiser la page.
    Par cinou01 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/03/2009, 14h30
  4. [HTML] Actualiser une image a l'ouveture de la page
    Par FCL31 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 03/07/2008, 12h14
  5. Actualisation d'une image seule dans ma page
    Par jack_1981 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/08/2006, 14h58

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