142 votes

Appeler deux fonctions à partir du même onclick

HTML ET JS

Comment appeler 2 fonctions à partir d'un événement onclick ? Voici mon code

 <input id ="btn" type="button" value="click" onclick="pay() cls()"/>

les deux fonctions étant pay() et cls(). Merci !

258voto

Chris B Points 4119

Ajouter des points-virgules ; à la fin des appels de fonction pour que les deux fonctionnent.

 <input id="btn" type="button" value="click" onclick="pay(); cls();"/>

Je ne crois pas que le dernier soit requis mais bon, autant l'ajouter pour faire bonne mesure.

Voici une bonne référence de SitePoint http://reference.sitepoint.com/html/event-attributes/onclick

50voto

Renan Points 5419

Vous pouvez créer une seule fonction qui appelle les deux, puis l'utiliser dans l'événement.

function myFunction(){
    pay();
    cls();
}

Et puis, pour le bouton :

<input id="btn" type="button" value="click" onclick="myFunction();"/>

21voto

pollirrata Points 2685

Vous pouvez appeler les fonctions à l'intérieur d'une autre fonction

<input id ="btn" type="button" value="click" onclick="todo()"/>

function todo(){
pay(); cls();
}

14voto

Amine Hajyoussef Points 3004
onclick="pay(); cls();"

cependant, si vous utilisez une instruction de retour dans la fonction "pay", l'exécution s'arrêtera et "cls" ne s'exécutera pas,

une solution de contournement à ce problème :

onclick="var temp = function1();function2(); return temp;"

12voto

karaxuna Points 11303

Il n'est PAS recommandé de lier les événements à partir du html. C'est la méthode recommandée :

document.getElementById('btn').addEventListener('click', function(){
    pay();
    cls();
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X