2 questions : JS sur <option> et getElementsByClassNam
Posté : 29 août 2008, 00:46
Bonsoir tout le monde,
En plein développement d'une petite appli, 2 problèmes m'ammènent ici :
1. Est-il possible de lancer une fonction JS lorsque l'on passe sur une <option> d'un <select> ? Je connais déjà le onChange, mais je souhaiterai également lancer une fonction lorsque la souris passe sur l'option, mais ne l'a pas encore choisie.
2. Je crée un "colorPicker", dont voici le <div> :
et la fonction refreshColor() qui se lance au onClick d'une couleur :
le <div> de chaque couleur possède une class, pour la mise en forme via CSS, et une id, pour pouvoir changer son border-color, dans ma fonction refreshColor().
Le problème vient de la ligne passée en commentaire, dans la fonction refreshColor(). Elle me renvoie l'erreur :
Existe t'il un autre moyen de changer la couleur de la bordure d'un mon <div>, lorsque celui-ci n'est plus la couleur active ?
Merci d'avance.
En plein développement d'une petite appli, 2 problèmes m'ammènent ici :
1. Est-il possible de lancer une fonction JS lorsque l'on passe sur une <option> d'un <select> ? Je connais déjà le onChange, mais je souhaiterai également lancer une fonction lorsque la souris passe sur l'option, mais ne l'a pas encore choisie.
2. Je crée un "colorPicker", dont voici le <div> :
Code : Tout sélectionner
<div class="colorPicker">
<?php
foreach($colors as $key => $color) {
echo '<div class="color" id="'.$color.'" style="background-color:'.$color.';" onclick="refreshColor(\''.$color.'\');"></div>';
}
?>
</div>Code : Tout sélectionner
function refreshColor(color) {
//document.getElementsByClassName('color').style.border = '1px solid #999999';
document.getElementById(color).style.border = '1px solid black';
document.getElementById('preview').style.color = color;
}Le problème vient de la ligne passée en commentaire, dans la fonction refreshColor(). Elle me renvoie l'erreur :
Si je comprends bien, on ne peut pas faire suivre document.getElementsByClassName de .style ?document.getElementsByClassName("color").style is undefined.
Existe t'il un autre moyen de changer la couleur de la bordure d'un mon <div>, lorsque celui-ci n'est plus la couleur active ?
Merci d'avance.

