Problème bouton favoris
tybmhi
Messages postés
200
Date d'inscription
Statut
Membre
Dernière intervention
-
tybmhi Messages postés 200 Date d'inscription Statut Membre Dernière intervention -
tybmhi Messages postés 200 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je tente d'insérer un bouton qui permet d'ajouter un article aux favoris avec jquery/ajax. Clairement, lorsque l'internaute clique sur le bouton "+ favoris" celui-ci enregistre les données dans la bdd. Puis, le bouton "+ favoris" devient "- favoris" pour que l'internaute puisse changer d'avis immédiatement et retirer l'article de ses favoris sans avoir besoin de recharger la page.
Lorsque je clique une première fois, tout va bien. Tout s'enregistre et le bouton se transforme. Cependant, si je clique une deuxième fois (sans recharger la page) ça ne fonctionne plus, comme si jquery n'était plus reconnu. Alors que si je recharge la page, tout fonctionne, jquery étant rechargé.
Je tente d'insérer un bouton qui permet d'ajouter un article aux favoris avec jquery/ajax. Clairement, lorsque l'internaute clique sur le bouton "+ favoris" celui-ci enregistre les données dans la bdd. Puis, le bouton "+ favoris" devient "- favoris" pour que l'internaute puisse changer d'avis immédiatement et retirer l'article de ses favoris sans avoir besoin de recharger la page.
Lorsque je clique une première fois, tout va bien. Tout s'enregistre et le bouton se transforme. Cependant, si je clique une deuxième fois (sans recharger la page) ça ne fonctionne plus, comme si jquery n'était plus reconnu. Alors que si je recharge la page, tout fonctionne, jquery étant rechargé.
<div id="ext_lien">
<div id="int_lien">
<?php
if ($si_favoris == 0){
?>
<form name="form_favoris" id="form_favoris" method="POST" action="requete_ajax/favoris.php" style="display:inline;">
<input type="hidden" id="id_article" name="id_article" value="<?php echo $id; ?>" />
<input type="hidden" id="favoris_detail" name="favoris_detail" value="oui" />
<button type="submit" name="submit_oui" id="submit_oui" class="shortcut" style="border:none;" onclick="retirer_favoris()"><i class="shortcut-icon icon-heart-empty"></i>
<span class="shortcut-label">+ Favoris</span></button>
</form>
<?php
} else {
?>
<form name="form_favoris" id="form_favoris" method="POST" action="requete_ajax/favoris.php" style="display:inline;">
<input type="hidden" id="id_article" name="id_article" value="<?php echo $id; ?>" />
<input type="hidden" id="favoris_detail" name="favoris_detail" value="non" />
<button type="submit" name="submit_non" id="submit_non" class="shortcut" style="border:none;" onclick="nouveau_favoris()"><i class="shortcut-icon icon-heart" style="color:#e03e3d;"></i>
<span class="shortcut-label" >- Favoris</span></button>
</form>
<?
}
?>
</div></div>
<script>
$(document).ready(function() {
// lorsque je soumets le formulaire
$('#form_favoris').on('submit', function() {
var $this = $(this);
// appel Ajax
$.ajax({
url: $this.attr('action'), // le nom du fichier indiqué dans le formulaire
type: $this.attr('method'), // la méthode indiquée dans le formulaire (get ou post)
data: $this.serialize(), // je sérialise les données, ici les $_POST
success: function(html) { // je récupère la réponse du fichier PHP
if (html === 'true') {
actualiser_favoris();
}
}
});
return false; // j'empêche le navigateur de soumettre lui-même le formulaire
});
});
</script>
<script type="text/javascript">
function actualiser_favoris() {
$(document).ready(function() {
$('#ext_favoris).load('article.php?id_article=<?php echo $id_article ?> #int_favoris');
});
}
</script>
A voir également:
- Problème bouton favoris
- Exporter favoris chrome - Guide
- Exporter favoris firefox - Guide
- Bouton reinitialisation pc - Guide
- Diagnostic bouton photo - Accueil - Outils
- Bouton on/off comment savoir ✓ - Forum Matériel & Système