Votre question

Notation par étoiles , afficher le vote .

Tags :
  • Gif
  • Programmation
Dernière réponse : dans Programmation
16 Septembre 2010 19:12:27

Bonjour,

Sur mon site , je voudrais afficher un systeme de notation par étoiles . J'arrive a afficher les étoiles (grace a un code trouver sur le net) mais je n'arrive pas a afficher le nombre que un internaute a vote . voila le code dite moi comment je peux faire merci :) 

  1. <form action="#" method="post">
  2. <body onload="NotationSystem();">
  3. <!--
  4. Vous pouvez mettre un nombre quelconque d'étoiles, veillez juste à mettre à jour la variable NbStar.
  5. Par défaut, les étoiles sont "éteintes" : si un utilisateur a désectivé JS il ne pourra pas voter mais le script ne plantera pas
  6. -->
  7. <img id="Star1" src="StarOut.gif" />
  8. <img id="Star2" src="StarOut.gif" />
  9. <img id="Star3" src="StarOut.gif" />
  10. <img id="Star4" src="StarOut.gif" />
  11. <img id="Star5" src="StarOut.gif" />
  12. </body>
  13. <input type="submit" value="Noter" class="bouton"/>


Voila le code Javascript :

  1. <!--
  2. StarOutUrl= 'StarOut.gif'; //image par défaut
  3. StarOverUrl= 'StarOver.gif'; //image d'une étoile sélectionnée
  4. StarBaseId= 'Star'; //id de base des étoiles
  5. NbStar= 10; //nombre d'étoiles
  6.  
  7. LgtStarBaseId=StarBaseId.lastIndexOf('');
  8.  
  9. function NotationSystem() {
  10. for (i=1;i<NbStar+1;i++) {
  11. var img =document.getElementById('Star'+i);
  12.  
  13. img.onclick =function() {alert('Vous avez donné la note de '+Name2Nb(this.id)+'.');};
  14. //Réaction lors du clic sur une étoile
  15. //Evidemment, il faudrait compléter cette fonction pour la rendre vraiment utile.
  16. //Par exemple, envoyer la note dans une base de donnée via un XMLHttpRequest.
  17.  
  18. img.alt ='Donner la note de '+i;
  19. //Texte au survol
  20.  
  21. img.src =StarOutUrl;
  22. img.onmouseover =function() {StarOver(this.id);};
  23. img.onmouseout =function() {StarOut(this.id);};
  24. }
  25. }
  26.  
  27. function StarOver(Star) {
  28. StarNb=Name2Nb(Star);
  29. for (i=1;i<(StarNb*1)+1;i++) {
  30. document.getElementById('Star'+i).src=StarOverUrl;
  31. }
  32. }
  33.  
  34. function StarOut(Star) {
  35. StarNb=Name2Nb(Star);
  36. for (i=1;i<(StarNb*1)+1;i++) {
  37. document.getElementById('Star'+i).src=StarOutUrl;
  38. }
  39. }
  40.  
  41. function Name2Nb(Star) {
  42. //Le survol d'une étoile ne nous permet pas de connaître directement son numéro
  43. //Cette fonction extrait donc ce numéro à partir de l'Id
  44. StarNb=Star.slice(LgtStarBaseId);
  45. return(StarNb);
  46. }
  47. -->

Merci de m'aider .

Autres pages sur : notation etoiles afficher vote

a c 232 L Programmation
17 Septembre 2010 00:29:46

Salut,

Il faut que tu aies la valeur stockée (en base de données ?) par ton petit script. Et avec cette valeur, tu fais un StarOver(laValeur);
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS