2012-01-25 385 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消息,使其再次成爲正常。