2013-04-15 14 views
72

HTML & JSchiamate due funzioni dal medesimo onclick

Come chiamare in 2 funzioni da un evento onclick? Ecco il mio codice

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

l'essere paga due funzioni() e cls(). Grazie!

+24

Ciao punto e virgola, termine di chiusura caro. 'Retribuzione(); cls() ' – elclanrs

+3

Cosa c'è dentro le tue virgolette è solo javascript. Separare le istruzioni java usando un punto e virgola. cioè: 'pay(); cls(); ' – Kyle

risposta

128

Aggiungi punti e virgola ; alla fine della funzione chiamate in modo per loro sia per lavorare.

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

non credo l'ultimo è richiesto ma hey, potrebbe anche aggiungere che in buona misura.

Ecco un buon riferimento da SitePoint http://reference.sitepoint.com/html/event-attributes/onclick

14

È possibile richiamare le funzioni dall'interno di un'altra funzione

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

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

E 'passato più di un anno da questa risposta, e solo ora ho notato che abbiamo postato la stessa risposta quasi nello stesso tempo (ma mi hai battuto di un minuto, così ho il mio +1). – Renan

29

È possibile creare una singola funzione che chiama sia di quelli, e quindi utilizzarlo in caso.

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

E poi, per il pulsante:

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

può essere fatto, ma a me sembra che non sia così trasparente o potrebbe essere chiamato simile a qualcosa come funtion1_function2(), nel caso in cui i funcitons non siano correlati. – Muflix

4

Prova questo

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

Con jQuery:

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

tuttavia, se si sta utilizzando l'istruzione return nella funzione "pagare" l'esecuzione si fermerà e "CLS" non verranno eseguiti,

una soluzione a questo:

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

inserire un punto e virgola tra le due funzioni come terminatore dell'istruzione.

6

Non è consigliabile associare eventi da html. Questo è il modo consigliato:

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