I am trying to run a javascript function inside my PHP code but the javascript function is not calling, or not working, but when I try to run it without the PHP it works fine:
<div class="chatbox">
<div class="chatbox_head">chat</div>
<div class="chatbox_body">
<?php
$n = 'Ozoibekwe';
$m = 'joy';
echo '
<div class="sidebar-name">
<!-- Pass username and display name to register popup -->
<a href="javascript:register_popup('.$n.', '.$m.');">
<img width="30" height="30" src="user_pix/david.jpg" />
<span>Ozoibekwe joy</span>
</a>
</div><br> ';
?>
</div>
</div>
khelwood
59.8k14 gold badges91 silver badges116 bronze badges
1 Answer 1
You need to quote the strings in your javascript function:
javascript:register_popup(\''.$n.'\', \''.$m.'\');:
<div class="chatbox">
<div class="chatbox_head">chat</div>
<div class="chatbox_body">
<?php
$n = 'Ozoibekwe';
$m = 'joy';
echo '
<div class="sidebar-name">
<!-- Pass username and display name to register popup -->
<a href="javascript:void(0);" onClick="register_popup(\''.$n.'\', \''.$m.'\');">
<img width="30" height="30" src="user_pix/david.jpg" />
<span>Ozoibekwe joy</span>
</a>
</div><br> ';
?>
</div>
</div>
Alternatively, you could do it like this, which is much cleaner:
<?php
$n = 'Ozoibekwe';
$m = 'joy';
?>
<div class="chatbox">
<div class="chatbox_head">chat</div>
<div class="chatbox_body">
<div class="sidebar-name">
<!-- Pass username and display name to register popup -->
<a href="javascript:void(0);" onClick="register_popup('<?= $n ?>', '<?= $m ?>');">
<img width="30" height="30" src="user_pix/david.jpg" />
<span>Ozoibekwe joy</span>
</a>
</div>
<br>
</div>
</div>
answered Aug 30, 2017 at 1:04
Lawrence Cherone
46.7k7 gold badges66 silver badges107 bronze badges
Sign up to request clarification or add additional context in comments.
2 Comments
ELOIKE DAVID
i tried that but its not working, i cannot call the javascript function
Lawrence Cherone
@ELOIKEDAVID See edit, changed to onClick event, try that.
default
$nand$m. Of course, your code is a bad practice anyways.