HTML & 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!
Ajoutez 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
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();"/>
Vous pouvez appeler les fonctions de l'intérieur d'une autre fonction
<input id ="btn" type="button" value="click" onclick="todo()"/>
function todo(){
pay(); cls();
}
Avec jQuery:
jQuery("#btn").on("click",function(event){
event.preventDefault();
pay();
cls();
});
La liaison d'événements à partir de HTML n'est pas recommandée. Ceci est recommandé de la manière suivante:
document.getElementById('btn').addEventListener('click', function(){
pay();
cls();
});
Juste pour offrir un peu de variété, le opérateur de virgule peut aussi être utilisé, mais certains diront "noooooo!", Mais cela fonctionne:
<input type="button" onclick="one(), two(), three(), four()"/>
onclick="pay(); cls();"
cependant, si vous utilisez une instruction return dans la fonction "pay", l'exécution s'arrêtera et "cls" ne s'exécutera pas,
une solution de contournement à ceci:
onclick="var temp = function1();function2(); return temp;"
mettez un point-virgule entre les deux fonctions en tant que terminateur d'instruction.
Essaye ça
<input id ="btn" type="button" value="click" onclick="pay();cls()"/>