Comment activer l'event handler d'un champ texte (formulaire)?

Résolu
Simbabbad Messages postés 3 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 4 janvier 2010 - 4 janv. 2010 à 12:52
Simbabbad Messages postés 3 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 4 janvier 2010 - 4 janv. 2010 à 14:22
Bonjour,

j'essaie de mettre en place bénévolement pour un forum auquel je participe un moyen pratique de changer la couleur de police et la couleur de fond des boîtes utilisateur.

Page test.

Pour cela j'ai récupéré un code de choix de couleur qui se greffe automatiquement sur la boîte formulaire du haut (dans "User colors"), code géré avec des events handlers.

Mon problème est que comme je voulais que l'on puisse changer deux couleurs, j'ai codé une bascule entre la police/la couleur de fond, qui change bien la valeur de la boîte en haut... mais n'active pas le event handler du code, qui ne met pas à jour l'affichage de la couleur dans la palette quand on bascule. Alors que si on entre le même montant manuellement, ça marche.

Comment "réveiller" artificiellement le event handler surveillant la boîte du haut?

Merci.

3 réponses

Simbabbad Messages postés 3 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 4 janvier 2010
4 janv. 2010 à 14:21
Non, ça ne marche pas.

Mais j'ai trouvé la solution, que je donne pour ceux qui en auraient besoin:

function refreshColorField(rcolor) {
var field = document.getElementById("colorinputpick");
field.value = rcolor;
if (document.createEventObject){
// dispatch for IE
var evt = document.createEventObject();
return field.fireEvent('onchange',evt)
}
else{
// dispatch for firefox + others
var evt = document.createEvent("HTMLEvents");
evt.initEvent('change', true, true ); // event type,bubbling,cancelable
return !field.dispatchEvent(evt);
}
}

Ma boîte colorinputpick a sa valeur modifiée, puis le javascript qui suit envoie artificiellement un event pour que le handler se réveille.
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 janv. 2010 à 14:05
Salut,

Peut-être en lui envoyant le focus?
0
Simbabbad Messages postés 3 Date d'inscription dimanche 26 novembre 2000 Statut Membre Dernière intervention 4 janvier 2010
4 janv. 2010 à 14:22
Merci en tout cas :-)
0
Rejoignez-nous