Bonjour,

J'ai repris le systeme de like de grafikart. mais au lieux de posté les étoile je souhaiterais les garder car aprés j'ai un button qui valide le formulaire.

J'ai 3 champs :

Titre
Contenu
Vote

COmment puije faire ?

8 réponses


Virax
Réponse acceptée

Tu as juste fait une erreur de syntaxe, c'est pas un underscore mais un tiret :

var clas = $(this).getAttribute('data-score');

au lieu de :

 var clas = $(this).getAttribute('data_score');

tu peux donner ton code stp :)
ca évite d'aller chercher dans les tutos

Rémi 35
Auteur

HTML :

<xen:require css="tc_sitereviews_ratings.css" />
<xen:require js="js/ThemesCorp/SiteReviews/Vote.js" />

<div class="vote_stars">
            <span id="1" class="vote_star vote_star1" data-score="1"></span>
            <span id="2" class="vote_star vote_star2" data-score="2"></span>
            <span id="3" class="vote_star vote_star3" data-score="3"></span>
            <span id="4" class="vote_star vote_star4" data-score="4"></span>
            <span id="5" class="vote_star vote_star5" data-score="5"></span>
</div>
<div class="vote_loading">Chargement...</div>

Debut JS :

$(document).ready(function() {

    var vote = document.querySelectorAll('.vote_star');

    for (var i = 0; i < vote.length; i++) {
        vote[i].addEventListener('click', function (e) {

            var clas = $(this).getAttribute('data_score');

            alert(clas);

        })
    }

});

Je voudrais récuperer le data_score

Rémi 35
Auteur

J'ai trouvé une autre méthode

var Score = $(this).data('score');

Salut,

On dit "merci de m'avoir aiguillé et aider à trouver mon souci" quand on est poli ;)

Rémi 35
Auteur

Merci j'attendais de voir si il re répondais pour sa :)

En fait je t'aurais proposé la seconde méthode si j'avais vu un autre selecteur que querySelectorAll qui n'a pas besoins de jquery pour fonctionner.
Tandis ce que la méthode data() est propre à jquery dans ta nouvelle méthode voilà !

Je m'adapte simplement à ta question.

Rémi 35
Auteur

D'accord merci à toi