Bonjour,
Soit un bouton qui enregistre en BDD via un programme Ajax et au retour de l'enregistrement je souhaite que le bouton change mais je n'y arrive pas.
Le bouton (balise img) dans le programme PHP qui construit la page :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // Le membre connecté ne suit pas encore le votant $html .= '<div id="btn_follow_'.$id_votant.'">'; $html .= '<img src="images/profil/btn_follow_'.$la_langue.'.png" style="cursor: pointer;" onclick="follow(this, '.$id_membre_connecte.', '.$id_votant.', 0, \''.$la_langue.'\');" />';
La fonction Javascript follow :
Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 /** * follow * Enregistre le suivi d'un membre par un autre * @param object obj : la balise img de l'image du bouton Suivre * @param integer id_follower : identifiant du membre qui suit l'autre * @param integer id_following : identifiant du membre qui est suivi par l'autre * @param integer id_liste : identifiant de la liste des membres suivis par l'utilisateur (par défaut 0) * @param text langue : la langue de l'utilisateur * @returns nothing */ function follow(obj, id_follower, id_following, id_liste, langue) { $.ajax( { url: "ajax/addfollow.php", global: false, type: "POST", data: ({idFollower : id_follower, idFollowing : id_following, idListe : id_liste, langue : langue}), dataType: "html", async:true, success: function(retour) { // obj.innerHTML = retour; $(obj).html(retour); } } ); }
Le programme Ajax PHP qui enregistre en BDD et est censé renvoyer le nouveau bouton :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php /** * ajax/addfollow.php * Ajoute un suivi de membre en BDD * @author : Philippe Leménager * @version : 0.3 - 24/04/2012 */ include_once('../connexion_bdd.php'); $id_follower = intval($_POST['idFollower']); $id_following = intval($_POST['idFollowing']); $id_liste = intval($_POST['idListe']); $la_langue = $_POST['langue']; $sql = " INSERT INTO follow (flw_id_follower, flw_id_following, flw_id_liste) VALUES ($id_follower, $id_following, $id_liste) "; mysql_query($sql); // Code pour changer le bouton Suivre en Abonné $html = '<img id="img_btn_following_'.$id_following.'" src="images/profil/btn_following_'.$la_langue.'.png" onmouseover="change_btn_following(this, \''.$la_langue.'\', '.$id_follower.', '.$id_following.')" onmouseout="change_btn_unfollow(this, \''.$la_langue.'\')" />'; echo $html; ?>
L'enregistrement en BDD se fait bien mais le bouton ne change pas.
Qu'est-ce qui cloche dans mon code ?
Partager