onchange et class

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : onchange et class

par Cyrano » 26 juin 2005, 10:15

Par contre il y a une erreur dans la balise <select>: tu traites la valeur this.value comme une chaine de caractère au lieu de récupérer la valeur sélectionnée: modifie comme suit:
<select  name="fields_color"  onchange="this.style.backgroundColor=this.value">

par Cyrano » 26 juin 2005, 10:10

Ok, je vois, mais je ne suis pas certain que ce soit bon: le style de couleur concerne la balise <select> pas les <option> individuelles.

Ceci dit, je n'affirmerai rien de façon péremptoire, il me semble que j'ai vu un truc dans ce genre il y a quelques mois, il faudrait que je fasse une recherche Google , Il faudrait aussi vérifier la doc CSS. En principe, la propriété background-color concerne tous les éléments, mais c'est au niveau de la structure particulière de l'ensemble <select><option> que ça se passe. :-k

par guy » 26 juin 2005, 09:58

on y est presque mais je calle un fois de plus:j'ai essayé le code si dessous pour recuperer la value de chaque option dans le onchange mais manifestement ca marche pas
<select  name="fields_color"  onchange="this.style.backgroundColor='this.value'">
<option selected style="background-color: 33FFFF" value="33FFFF">a</option>
<option style="background-color: 00FFFF" value="00FFFF">b</option>
<option style="background-color: 3300FF" value="3300FF">c</option>
<option style="background-color: 3333FF" value="3333FF">d</option>
<option style="background-color: 3366FF" value="3366FF">e</option>
<option style="background-color: 3399FF" value="3399FF">f</option>
<option style="background-color: 33CCFF" value="33CCFF">g</option>
merci
Guy

par Cyrano » 25 juin 2005, 19:55

oui, : ajoute un attribut id à ta balise select.: exemple:
<form action="test.php" method="post">
  <select class="couleurbase" style="background-color: #ccccff" onchange="this.style.backgroundColor='#ccffcc'">
    <option value="couleur1">1</option>
    <option value="couleur2">2</option>
    <option value="couleur3">3</option>
    <option value="couleur4">4</option>
    <option value="couleur4">4</option>
  </select>
</form>
Note que pour tester, j'ai intégré le style de couleur directement dans la balise, mais ça devrait fonctionner aussi bien si le style est dans une feuille externe.

onchange et class

par guy » 25 juin 2005, 18:16

Bonjour
Je voudrait dans un select grace a la fonction onchange de JS modifier la class css de ce meme select . Est ce possible ?
<form action="test.php" method="post">
<select class="couleurbase" onchange?????????? >
<option value="couleur1">1</option>
<option value="couleur2">2</option>
<option value="couleur3">3</option>
<option value="couleur4">4</option>
<option value="couleur4">4</option>
</select></form>
donc le but serait de changer la classe couleurbase en clouleur2 si le choix 2 est selectionné .
Merci Guy[/code]