Probleme avec l'evenement onchange

kilian67 Messages postés 10 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

j'ai un champs de formulaire qui permet a l'utilisateur d'entrée un code de couleur (ici défini par défaut à la valeur #FFFFFF)

<input type="text" id="perso2" value="#FFFFFF" class="Cellules" onchange="var selectionColor=document.getElementsByName('perso2')[0].value
document.getElementById('exemple').style.color=selectionColor;">

Mon problème réside dans le fait que j'utilise un autre script qui permet d'après une palette de choisir une autre couleur et par la même occasion change la valeur du champs par celle choisi par l'utilisateur et la le onchange ne fait pas son travail.

Y a t'il une solution a ce problème ?

1 réponse

Alain_42 Messages postés 5413 Statut Membre 894
 
Normal, le onChange marche avec un changement "réel" hors ta modif doit se faire je suppose par Javascript.

Si c'est ainsi, alors mets les instructions prévues dans le onChange a la suite de celles qui modifient ton champ.

@lain
0
kilian67 Messages postés 10 Statut Membre
 
Effectivement j'utilise un javascript pour remplir ce champs et plus précisément le voici


form name="maForm" action="?" method="post">
<div id="CP"></div> <script language="JavaScript">
var CP = new Color_Picker("CP");
</script>
<input type="text" value="#FFFFFF" class="Cellules" onchange="var selectionColor=document.getElementsByName('perso2')[0].value
document.getElementById('exemple').style.color=selectionColor;" name="perso2">     <img src="../images/color.gif" width="35" height="28" border="0" align="absmiddle" onClick="CP.Show('perso2', 'right');">     <a href="javascript:;" onclick="var selectionColor=document.getElementsByName('perso2')[0].value
document.getElementById('exemple').style.color=selectionColor;">Pour voir l'exemple valide ton choix</a>

Seulement je suis obligé de valider par le lien "Pour voir l'exemple valide ton choix" pour voir ce que ça donne mais je prefererai ne pas avoir besoin de ce lien.

J'ai essayer de faire ce que tu m'a suggérer mais cela ne fonctionne pas non plus ! soit le script ne se charge même pas ou alors rien ne se passe !
0
Alain_42 Messages postés 5413 Statut Membre 894 > kilian67 Messages postés 10 Statut Membre
 
Pour un emeilleur lisibilité de ton code, il serait mieux que tu utilises la methode des fonctions javascript:

<head>
<script language="javascript">
var CP = new Color_Picker("CP");
function couleur(){
var selectionColor=document.getElementsByName('perso2')[0].value;
document.getElementById('exemple').style.color=selectionColor;
}
et aussi ici tu peux y mettre la fonction CP.Show(...)
</script>
</head>

et dans ta page:

<form name="maForm" action="?" method="post">
<input type="text" value="#FFFFFF" class="Cellules" onChange="couleur();" name="perso2">
<img src="../images/color.gif" width="35" height="28" border="0" align="absmiddle" onClick="CP.Show('perso2', 'right');">
<a href="javascript:couleur();">Pour voir l'exemple valide ton choix</a> 
</form>
0