Comment activer l'event handler d'un champ texte (formulaire)? [Résolu]

Messages postés
3
Date d'inscription
dimanche 26 novembre 2000
Statut
Membre
Dernière intervention
4 janvier 2010
- - Dernière réponse : 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.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
3
Date d'inscription
dimanche 26 novembre 2000
Statut
Membre
Dernière intervention
4 janvier 2010
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Simbabbad
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
21
0
Merci
Salut,

Peut-être en lui envoyant le focus?
Commenter la réponse de nhervagault
Messages postés
3
Date d'inscription
dimanche 26 novembre 2000
Statut
Membre
Dernière intervention
4 janvier 2010
0
Merci
Merci en tout cas :-)
Commenter la réponse de Simbabbad