11550 sujets

JavaScript, DOM et API Web HTML5

Dans un formulaire de test, j'ai un certain nombre de question. Chaque question a une bonne reponse ("OK") et plusieurs mauvaises reponses ("Erreur"). Plutot que de faire un clic sur chaque question, je voudrais donner la reponse sous forme d'infobulle au SURVOL de la souris. J'utilise les widgets Spry infobulle de Dreamweaver qui font appel a du Javascript.

PROBLEME: le validateur W3C retourne l'erreur suivante:
ID "SPRYTRIGGER2" already defined et l'explicxation suivante:

An "id" is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).

MON COMMENTAIRE: n'ayant que 2 types de reponse infobulle ("OK" et "Erreur") je voudrais eviter de repliquer les infobulles. D'avance merci pour toute aide.

CODE HTML
----------------------------------------------------------------------------
Dans le html, il y a plusieurs fois les occurences de id="sprytrigger2"

..............
<img src="bouton.gif" id="sprytrigger1">
.....................;;
<img src="bouton.gif" id="sprytrigger2">
....................
<img src="bouton.gif" id="sprytrigger2">
...............................
...............................

<div class="tooltipContent" id="sprytooltip1">--- BRAVO ---</div>
<div class="tooltipContent" id="sprytooltip2">--- Mauvaise R&eacute;ponse ---</div>

.......................

<script type="text/javascript">
<!--
var sprytooltip1 = new Spry.Widget.Tooltip("sprytooltip1", "#sprytrigger1");
var sprytooltip2 = new Spry.Widget.Tooltip("sprytooltip2", "#sprytrigger2");
//-->
</script>

-------------------------------------------------------------------------------
un chti problème de conception Smiley smile
soit tu as des objets uniques auquel cas tu utilises les ID, soit tu peux en avoir plusieurs du même type auquel cas tu devrais plutôt utiliser les classes

peux tu mettre ton SPRYTRIGGER1 et SPRYTRIGGER2 en tant que noms de classe plutôt ?
vu la syntaxe de ta librairie, logiquement tu peux retrouver l'élément en faisant
var sprytooltip2 = new Spry.Widget.Tooltip("sprytooltip2", ".sprytrigger2");

note le . à la place du #