js et changement de classe sous ie

Invité
Invité n'ayant pas de compte PHPfrance

20 avr. 2009, 13:30

Bonjour à tous,

J'essaye de changer le style d'un bouton onmouseover et mouseout en utilisant javascript:
    <input type="submit" class="addtocart_button_off" onmouseover="this.setAttribute('class', 'addtocart_button_on');" onmouseout="this.setAttribute('class', 'addtocart_button_off');"  />
ça fonctionne parfaitement sous FF, pa sous IE.
Quelqu'un voit il pouruqoi?
Merci pour vos réponses.

Invité
Invité n'ayant pas de compte PHPfrance

20 avr. 2009, 13:32

précision
quand je dis que ça ne fonctionne pas sous IE, je veux dire: le stle ne change pas sous IE, le bouton ne change pas d'apparence comme prévu.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 avr. 2009, 14:22

IE ne connait pas l'attribut "class" lorsque tu fais appel à setAttribute, il utilise "className" à la place ...

Pour obtenir un code compatible sous les différents navigateurs, il faut indiquer les deux :
this.setAttribute("class","maclasse");
this.setAttribute("className","maclasse");
Tu peux tester le navigateur pour que ce soit un peu plus propre, mais comme le code non compris par chacun ne génére pas d'erreur, ce n'est pas obligatoire :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 3300 Messages

20 avr. 2009, 16:13

tous les nav conaissent className tu peux avoir un code unique sur ce coup
Fait du php depuis que ca existe ou presque :)

Invité
Invité n'ayant pas de compte PHPfrance

20 avr. 2009, 22:45

Merci pour vos réponses.
tous les nav conaissent className tu peux avoir un code unique sur ce coup
className ne fonctionne pas avec FF pour moi...

ViPHP
ViPHP | 3300 Messages

20 avr. 2009, 23:08

Node.className = 'taclass';

fonctionne sous ff/ie/opera, sans doute le reste aussi, en lecture comme en écriture
Fait du php depuis que ca existe ou presque :)