-2

I'm trying to call a window.open() javascript code inside a php file, but unfortunately it is not responding.

Here's my code:

<html>
<head>
<script language="JavaScript"></script>
</head>
<body>

<?php .....

$printHeader .= " <div id ='subHeader'><p class = 'alignleft'><font style='color:blue'>User: " . $username . " | Access: " . $level ." | <a href=logout.php>Logout</a></font></p>";  
$printHeader .= " <p class='alignright'><a href='refresh.php' onClick='window.open(this.href,'mywin','width=400,height=200')'>Refresh List</a></p></div>"; 
$printHeader .= "<div style='clear: both;'></div>";

.... ?>

</body> </html>

Unfortunately, when I run it, it doesn't work at all. Can we not call javascript in php? Please advise!

Thanks!

alchuang
  • 3,487
  • 3
  • 34
  • 48

2 Answers2

3

I think the issue is related to the quotes, Your inner single quotes are ending the onClick string, so replacing the outter single quotes to double quotes(will keeping the inner quotes single) will solve your issue. try changing this:

onClick='window.open(this.href,'mywin','width=400,height=200)'  

To this:

onClick=\"window.open(this.href,'mywin','width=400,height=200)\"  

Here's an example:

On JSFiddle

Another solution is to simply escape your inner quotes by prefixing them with a backslash (\).

Abdulaziz
  • 2,201
  • 1
  • 21
  • 35
2

One thing that catches my eye right away is that you did not escape your single quotes withing the onclick event. Modify it like so:

onclick=\"window.open(this.href, 'mywin', width=400, height=200);\"

See if this helps you out.

War10ck
  • 12,387
  • 7
  • 41
  • 54