11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Pourrait-on me dire en quelques lignes le meilleur principe pour renvoyer au serveur le résultat d'un vote par click sur des étoiles.
i.e. : onclick sur une des étoiles, que doit faire grosso modo le script JS associé.
Je ne demande évidemment pas le code tout fait...
Modifié par aCOSwt (05 Jun 2008 - 08:51)
Rapidement, j'affecterais à chaque étoile un id dont une partie du nom comporte la note (par exemple etoile1... etoile5). Le JS renverrait l'id tronqué avec uniquement la note... Du coup, une seule fonction pour gérer le click sur toutes tes étoiles...

Une autre solution, plus accessible car ne dépendant pas de javascript, consisterait à faire en sorte que chacune de tes étoiles soit un input type="image", toujours avec un id. Comme ça, tu peux éviter le recours au javascript... ou bien, en js, traiter le click puis empêcher sa propagation dans l'arborescence pour bloquer le comportement par défaut de click sur le bouton (avec un return false)...
Modifié par Gilles (03 Jun 2008 - 14:13)
@Gilles : Merci de ta réponse. C'était un peu ta solution n°1 que j'avais et qui ne me plaisait qu'à moitié.
En fait ta 2 est clever et c'est probablement une dans ce genre que je cherchais.
Mais j'irai probablement sur ta 3° puisque de toutes façon je vais devoir javascripter ne serait-ce que pour gérer les cookies censées éviter les votes multiples.

@Heyoan : Merci aussi, cependant, j'ai réussi, parfois avec beaucoup de mal, à me passer d'Ajax jusqu'à présent, alors... ce n'est pas pour devoir me le cogner maintenant au profit de ce qui n'est en fin de compte qu'un gadget.

Au fait... y aurait-il une solution pour transmettre au serveur le vote (ou sa symbolique) ailleurs que dans l'url ?
aCOSwt a écrit :
@Heyoan : Merci aussi, cependant, j'ai réussi, parfois avec beaucoup de mal, à me passer d'Ajax jusqu'à présent, alors... ce n'est pas pour devoir me le cogner maintenant au profit de ce qui n'est en fin de compte qu'un gadget.
Oui, je comprends ! Je suis en train de m'y mettre (tout tout doucement) et c'est un peu laborieux Smiley lol ! L'avantage était que le code était déjà fait...

a écrit :
Au fait... y aurait-il une solution pour transmettre au serveur le vote (ou sa symbolique) ailleurs que dans l'url ?
Ben, à moins que je n'ai pas compris quelque chose pourquoi ne pas mélanger un <form> en method post avec des <input> de type image et en rajoutant éventuellement du Javascript sur le onsubmit ? D'ailleurs PHP se débrouille plutôt bien avec les cookies Smiley smile !
Heyoan a écrit :
Ben, à moins que je n'ai pas compris quelque chose pourquoi ne pas mélanger un <form> en method post avec des <input> de type image et en rajoutant éventuellement du Javascript sur le onsubmit ?

Non Heyoan tu as tout compris toi. C'est moi qui me suis pitoyablement mélangé les pinceaux, j'avais rezappé dans ma tête sur la méthode 1... Smiley rolleyes