2015-06-25 5 views
5

Non posso usare le variabili PHP da utilizzare come parametri per la mia funzione.Chiama la funzione JavaScript (con parametri) per evento onclick

La funzione è:

<script type="text/javascript"> 
function myFunction(id,name) { 
    alert(id); 
    alert(name); 
} 
</script> 

E questo è parte di PHP:

echo "<button onclick='myFunction($intvar,$strvar)' type='button'>ClickMe</button>"; 

la chiamata funziona quando uso i numeri come questo: MyFunction (0,1) ma ho bisogno di usare variabili per chiamare myFunction.

Si prega di aiuto, grazie.

+2

cambiamento alert (ide); per avvisare (id); –

risposta

3

di provare questo function myFunction(ide,name) { cambiamento invece di id => ide echo "<button onclick='myFunction(".'"'.$intvar.'","'.$strvar.'"'.")' type='button'>ClickMe</button>";

+0

E ci si chiede perché un "linguaggio template" sia così cattivo con i modelli .. – user2864740

+0

Grazie a te! che funziona davvero! –

+0

Benvenuto @Roberto Sepúlveda Bravo –

5

buona pratica è quella di eco versione JSON codificata di variabili, in questo modo si garantisce che le stringhe siano correttamente citati:

echo "<button onclick='myFunction(" . json_encode($intvar) . "," . json_encode($strvar, JSON_HEX_APOS) . ")' type='button'>ClickMe</button>"; 
+0

Lo sarà se fornisci un flag JSON_HEX_APOS. – dfsq

+0

Provo con json_encode e funziona anche, grazie mille. –

+0

Grazie a @dfsq oggi imparo questo nuovo. chears .... :) –