2012-01-25 110 views
-1

我翻阅了许多关于此问题的文章,但无法弄清楚如何转义该语法。将PHP变量传递给JavaScript函数

我只是试图通过JavaScript window.open的PHP echo弹出一个编辑窗口,并将该窗口从MySQL传递给一个prame。

该代码是echo'与一个通过PHP动态生成的表一起发布的。 在echo的最后一行是有问题的,我似乎无法正常工作。

<a href="#" onClick="window.open("popup.php?message='.$Url.'", "myWindow", "status = 1, height = 350, width = 1022, resizable = 0 ")" class="bstyle">E</a></td> 

注:我已经去了这里的许多职位处理这个问题,并尝试了许多解决方案,其中没有解决。我相信这个处理起来很简单,但我一直在指导这件事情,它正在引起我的注意。

+0

后的所有代码,现在我猜''?php echo $ Url;?>'将修复它。 –

+0

[如何在PHP生成的HTML中将URL编码为javascript字符串?](http://stackoverflow.com/questions/1526940 /) – outis

回答

0
echo '<a href="#" onClick="window.open(\'popup.php?message='.$Url.'\', \'myWindow\', 
    \'status = 1, height = 350, width = 1022, resizable = 0\')" class="bstyle">E</a></td>'; 

如果你正在写HTML,并写了:

<a href="#" onClick="window.open("popup.php?message=blah", "myWindow", 
    "status = 1, height = 350, width = 1022, resizable = 0 ")" class="bstyle">E</a></td> 

onclick是行不通的,因为它会牵住价值window.open(。您可以使用单引号在字符串值onclick内定义字符串。因为在我的情况下,我(不确定你是否是,但它看起来像)定义我的字符串使用单引号回显,我需要逃避我的字符串与\字符。

+0

非常感谢!它的工作! – RmH

1

您可以嵌入PHP到你的HTML:

<a href="#" 
    onClick="window.open(
     'popup.php?message=<?php echo $Url; ?>', 
     'myWindow', 
     'status = 1, height = 350, width = 1022, resizable = 0' 
    )" 
    class="bstyle"> 
     E 
</a> 

附:奇怪的缩进只是让你可以在这里阅读它。不要在代码中实际使用它。

0

在PHP中使用反斜杠来转义字符。

echo '<a href="#" onClick="window.open(\'popup.php?message='.$Url.'\', \'myWindow\', \'status = 1, height = 350, width = 1022, resizable = 0\');" class="bstyle">E</a></td>'; 
0

您可以通过echo'ing变量在HTML代码中放置一个变量。

<a href="#" onClick="window.open ('popup.php?message=<?php echo $Url; ?>', 'myWindow', 'status = 1, height = 350, width = 1022, resizable = 0 ')" class="bstyle">E</a></td> 

我也想在这种情况下推荐urlencode。 之所以这样做,是因为你回应了$ Url变量。 只要$ URL包含HTML字符,例如像“或”那么你的JavaScript调用将打破。

在你popup.php然后你可以urldecode消息,使其再次成为正常。