[Ajax] modifier un lien image

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

[Ajax] modifier un lien image

Message le Mer Nov 26, 2008 17:17

Bonjour à tous les pros de l'ajax et autres,

Lorsque je clique sur un lien (soit annuler soit ajouter), celui-ci lance un script php (par de l'ajax) et me retourne un message de confirmation que j'affiche dans un div.

jusque là tout est ok. mon problème est que mes liens ajouter/annuler sont des icones (+ et -), et donc j'aimerais bien :
1- une fois que je clique sur l'icone + (ajouter), que cet icone se transforme en - (annuler)
2- que le lien associer change

voici mes liens:
Code: Tout sélectionner
<?php echo $res['nom_zone']; if($association == 1) { ?><a href="#" onClick="zoneActe('annuler', <?php echo $id_asso; ?>, 'toto')"><img src="annuler.gif"></a><?php } else { ?>
<a href="#" onClick="zoneActe('ajouter', <?php echo $res['id']; // id zone ?>, <?php echo $id_acte; //id acte ?>)"><img src="ajouter.gif"></a><?php } ?>


ce qui m'affiche :
* item 1 - Annuler
* Item 2 - Ajouter



Merci de votre aide


Dharius
WRInaute passionné
WRInaute passionné
 
Messages: 630
Inscription: Mer Avr 06, 2005 14:04

Message le Mer Nov 26, 2008 17:57

Salut,

Essaie en ajoutant dans les images :

Code: Tout sélectionner
<img src="ajouter.gif" onCLick="this.src='annuler.gif" />
<img src="annuler.gif" onCLick="this.src='ajouter.gif" />


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

Message le Jeu Nov 27, 2008 13:48

non ca ne fonctionne pas ça me fait planter la bécanne !


psykoko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Ven Juin 03, 2005 15:04

Message le Jeu Nov 27, 2008 13:56

Quel frameworks Ajax utilises tu?
Sinon, rien de bien compliqué :

dans ta page :

Code: Tout sélectionner
<span id='monimage'><a href="#" onClick="zoneActe('annuler', <?php echo $id_asso; ?>, 'toto')"><img src="annuler.gif"></a></span>


dans ton script php Ajax :
Code: Tout sélectionner
$result="<a href='#' onClick='zoneActe(\'annuler\', ".$id_asso.", \'toto\')'><img src='annuler.gif'></a>";
$objResponse->assign("monimage", "innerHTML","");


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

Message le Jeu Nov 27, 2008 13:59

psykoko a écrit:Quel frameworks Ajax utilises tu?
Sinon, rien de bien compliqué :

dans ta page :

Code: Tout sélectionner
<span id='monimage'><a href="#" onClick="zoneActe('annuler', <?php echo $id_asso; ?>, 'toto')"><img src="annuler.gif"></a></span>


dans ton script php Ajax :
Code: Tout sélectionner
$result="<a href='#' onClick='zoneActe(\'annuler\', ".$id_asso.", \'toto\')'><img src='annuler.gif'></a>";
$objResponse->assign("monimage", "innerHTML","");


je n'utilise pas de framework. voici mon code :

Code: Tout sélectionner
function zoneActe(action, id1, id2){
   if(texte = file('includes/ajax_zoneacte.php?action='+action+'&id1='+id1+'&id2='+id2)){
      document.getElementById('confZone').innerHTML = texte;
      document.getElementById('confZone').className = 'confirmation';
      
   }
}

function file(fichier){
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}


psykoko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Ven Juin 03, 2005 15:04

Message le Jeu Nov 27, 2008 14:22

Hum...
Dans ton head
Code: Tout sélectionner
function plus(a){
if (a==0)
      document.getElementById("monimage").innerHTML = "<img src='ajouter.gif' onCLick='plus(1);'></a>";
if(a==1)
      document.getElementById("monimage").innerHTML = "<img src='annuler.gif' onCLick='plus(0);'></a>";
}


et dans ton corps:
Code: Tout sélectionner
<img src="ajouter.gif" onCLick="plus(1);" />


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

Message le Jeu Nov 27, 2008 14:36

pareil ça fait planter !!!


psykoko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Ven Juin 03, 2005 15:04

Message le Jeu Nov 27, 2008 14:46

tu utilises quel navigateur??


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

Message le Jeu Nov 27, 2008 14:47

FF


psykoko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Ven Juin 03, 2005 15:04

Message le Jeu Nov 27, 2008 14:50

Ok.
Tu as installé Firebug ?
Si non, installes le, et donne nous l'erreur que ça produit...


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

Message le Jeu Nov 27, 2008 14:56

je viens de l'installer mais j'ai pas trop compris où je pouvais suivre le débugguage

console ? script ?

merci


psykoko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Ven Juin 03, 2005 15:04

Message le Jeu Nov 27, 2008 15:18

console... pour suivre les erreurs...


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

Message le Jeu Nov 27, 2008 15:21

je pige plus rien !!!

maintenant ça plante plus, mais l'image ne change pas !!

dans la console :

http://www.xxxxxxxx.com/includes/ajax_z ... d1=1&id2=1


psykoko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 185
Inscription: Ven Juin 03, 2005 15:04

Message le Jeu Nov 27, 2008 15:22

cliques sur le lien, dans la console, et regarde ce qu'il dit, où ça plante...au pire, pm moi un screen shot


rudddy
WRInaute accro
WRInaute accro
 
Messages: 1711
Inscription: Mer Aoû 01, 2007 19:00

Message le Jeu Nov 27, 2008 15:24

Code: Tout sélectionner
Réponse
Date   Thu, 27 Nov 2008 14:20:44 GMT
Server   Apache/2.2.X (OVH)
X-Powered-By   PHP/4.4.9
Expires   Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma   no-cache
Vary   Accept-Encoding
Content-Encoding   gzip
Content-Length   44
Keep-Alive   timeout=5, max=100
Connection   Keep-Alive
Content-Type   text/html
Requête
Host   www.domaine.fr
User-Agent   Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.18) Gecko/20081029 Firefox/2.0.0.18
Accept   text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language   fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding   gzip,deflate
Accept-Charset   ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive   300
Connection   keep-alive
Referer   http://www.domaine.fr/admin/fiche_acte.php?id=1
Cookie   PHPSESSID=9b35e70561a673d1387ec861e42d1422; webfxtab_tab-pane-1=1


Code: Tout sélectionner
Firebug needs to POST to the server to get this information for url:
http://www.domaine.fr/admin/includes/ajax_zoneacte.php?action=ajouter&id1=1&id2=1

This second POST can interfere with some sites. If you want to send the POST again, open a new tab in Firefox, use URL 'about:config', set boolean value 'extensions.firebug.allowDoublePost' to true
This value is reset every time you restart Firefox This problem will disappear when https://bugzilla.mozilla.org/show_bug.cgi?id=430155 is shipped.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Web Toolkit, Google Image Labeler

  • Tester la validité d'un lien
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Calculer le ratio de liens profonds
    Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés.
  • Transformer des textes non cliquables en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: tryan et 0 invités