OVH Cloud OVH Cloud

onchange sur champs text...

4 réponses
Avatar
Etienne SOBOLE
salut

j'ai un champ text sur lequel j'ai mis (en javascript) un evenement sur le
onchange...
genre
nomchamp.onchange = mafonction;

sauf que j'aurai besoin d'appeler deux fonctions!!! sur cet evenement.
comment est ce que je peux faire, sachant que je ne peux absolument pas
toucher a la fonction mafonction?

en fait j'aimerai remplacer
nomchamp.onchange = mafonction;
par
nomchamp.onchange = manouvellefonction;

et dans le code de manouvellefonction
rappeler à la fin la fonction mafonction

mais comment je peux faire ca pour que tout ce passe comme si s'etait un
evenement qui avait appelé mafonction et non pas un simple appel !!!

est ce bien clair mon truc???

Etienne

4 réponses

Avatar
Cédric Correa Luna
Bonjour,

tu dois pouvoir faire ça :
<input type="text" value="" onChange="MaFonction(); MonAutreFonction();">

Cordialement

Cédric

salut

j'ai un champ text sur lequel j'ai mis (en javascript) un evenement sur le
onchange...
genre
nomchamp.onchange = mafonction;

sauf que j'aurai besoin d'appeler deux fonctions!!! sur cet evenement.
comment est ce que je peux faire, sachant que je ne peux absolument pas
toucher a la fonction mafonction?

en fait j'aimerai remplacer
nomchamp.onchange = mafonction;
par
nomchamp.onchange = manouvellefonction;

et dans le code de manouvellefonction
rappeler à la fin la fonction mafonction

mais comment je peux faire ca pour que tout ce passe comme si s'etait un
evenement qui avait appelé mafonction et non pas un simple appel !!!

est ce bien clair mon truc???

Etienne




Avatar
Etienne SOBOLE
tu dois pouvoir faire ça : <input type="text" value=""
onChange="MaFonction(); MonAutreFonction();">

j'ai un champ text sur lequel j'ai mis (en javascript) un evenement sur
le onchange...



oui, mais comme précisé dans la question.
l'affectation de mon evenement se fait en javascript puisque l'objet est lui
meme inséré dans le DOM.

donc je ne peux pas faire ce que tu proposes...

Etienne


Avatar
YD
j'ai un champ text sur lequel j'ai mis (en javascript) un evenement sur le
onchange...
nomchamp.onchange = mafonction;

en fait j'aimerai remplacer
nomchamp.onchange = mafonction;
par
nomchamp.onchange = manouvellefonction;

et dans le code de manouvellefonction
rappeler à la fin la fonction mafonction

mais comment je peux faire ca pour que tout ce passe comme si s'etait un
evenement qui avait appelé mafonction et non pas un simple appel !!!


Si tu veux que l'on t'aide il faudrait que l'on sache comment tu as défini
ta fonction (function mafonction(e){} ou function mafonction()) et comment
tu utilises l'objet à l'origine de l'évènement et l'évènement lui-même --
si tu les utilises bien sûr.

Si ton code utilise this pour désigner ton champ texte et n'emploie pas
l'évènement, tu peux t'en sortir en écrivant :

nomchamp.mafonction=mafonction;
nomchamp.onchange = manouvellefonction;

et dans le code de manouvellefonction :
nomchamp.mafonction();

Si la fonction est définie ainsi
function mafonction(e){...}
définis manouvellefonction(e) de la même façon et à la fin appelle
mafonction(e);
en lui passant donc l'objet évènement.

--
Y.D.

Avatar
Etienne SOBOLE
nomchamp.mafonction=mafonction;
nomchamp.onchange = manouvellefonction;


T'es vraiment une brute en javascript toi.
ca marche nickel ton truc.
j'ai donc defini:
nomchamp.defaultchange = mafonction;
nomchamp.onchange = manouvellefonction;

et
function manouvellefonction()
{
// bla bla bla
this.defaultchange();
}

et ca marche...

et dans le code de manouvellefonction :
nomchamp.mafonction();


oui enfin j'ai utilisé this...

c'est top...
merci beaucoup

Etienne