jotyhista
jotyhista

Reputation: 111

php generated html onclick variable not working

so I have this php code

$listing .= "<button onclick='updateValue(".$id.", ".$key.")'>change value</button>";

$id is an integer and works just fine, key is a reference from a for loop and the value translate well in the html code however the key value table is recognised as a variable instead of a string.

HTML: onclick="updateValue(3, table)"

I have tried evey trick I know (creating new variable with quotes, adding single quotes in the onclick and (string)$key ) to convert it as a string but nothing is working so far. any idea please ? is it even possible ?

Upvotes: 2

Views: 90

Answers (2)

Try this way

$listing .= "<button onclick='updateValue(".$id.", \"".$key."\")'>change value</button>";

Upvotes: 2

rickdenhaan
rickdenhaan

Reputation: 11328

You need to add quotes to tell javascript that it's a string. Since you're inside an echo you'll need to escape the quotes:

$listing .= "<button onclick='updateValue(".$id.", \"".$key."\")'>change value</button>";

Upvotes: 7

Related Questions