Вызовите две функции из одного и того же onclick

HTML и JS

Как мне вызвать 2 функции из одного события onclick? Здесь мой код

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

две функции: pay() и cls(). Благодарю!

Ответ 1

Добавьте полуколоны ; в конец вызовов функций, чтобы они оба работали.

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

Я не верю, что последний нужен, но эй, может также добавить его для хорошей меры.

Вот хорошая ссылка из SitePoint http://reference.sitepoint.com/html/event-attributes/onclick

Ответ 2

Вы можете создать одну функцию, которая вызывает оба из них, а затем использовать ее в событии.

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

И затем, для кнопки:

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

Ответ 3

Вы можете вызывать функции из другой функции

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

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

Ответ 4

С помощью jQuery:

jQuery("#btn").on("click",function(event){
    event.preventDefault();
    pay();
    cls();
});

Ответ 5

Чтобы предложить несколько вариантов, можно использовать оператор запятой, но некоторые могут сказать "noooooo!", но он работает:

<input type="button" onclick="one(), two(), three(), four()"/>

http://jsbin.com/oqizir/1/edit

Ответ 6

События привязки из html НЕ рекомендуются. Это рекомендуется:

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

Ответ 7

onclick="pay(); cls();"

однако, если вы используете оператор return в функции "pay", выполнение остановится и "cls" не будет выполняться,

обходной путь:

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

Ответ 8

помещает точку с запятой между двумя функциями в качестве терминатора операторов.

Ответ 9

Попробуйте это

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