要打印變量轉換爲JavaScript,你只需添加花括號(這僅適用於當你發出一個雙引號字符串,那麼:
echo "<td><a href='#' onclick='disp_confirm({$row->university})'>Delete</a></td>";
將工作和
echo '<td><a href="#" onclick="disp_confirm({$row->university})">Delete</a></td>';
將不工作。同爲{$variables}
,{$array['of values']}
等
(在上面的代碼,$row->university
必須是整數,或者你會得到一個JavaScript錯誤。如果是這樣,引用與逃單引號的值)
UPDATE(感謝Mihai Iorga):您必須考慮變量如何與Javascript代碼交互。引用字符串是不夠的,因爲變量本身可能包含引號。因此,如果你的大學是「Shi'Kahr大學」,那麼HTML將變爲
onclick='disp_confirm(\'Shi'Kahr University\')'
並且Javascript將立即被破壞。所以你也必須使用addslashes()
來確保你的字符串被正確引用。既然你正在編寫一個字符串內串,你需要調用addslashes()
兩次,得到
onclick='disp_confirm(\'Shi\\\'Kahr University\')'
到JavaScript值傳遞給PHP腳本在服務器端,你可以使用AJAX(如jQuery庫)或您可以將值添加到URL並重新加載頁面:
alert("Submitting " + value);
location.href = '?variable=' + value;
該腳本將從一開始就再次執行(這可能是也可能不是你想要的),然後$_GET['variable']
將包含值。你可以用if
來區分這兩種情況:
<?php
if (isset($_GET['variable']))
{
// This is the second round
}
else
{
// This is the first time
}
// common code goes here
?>
最後,有一些庫允許混合使用PHP和Javascript。他們基本上按照上述方式工作,但他們負責繁重的工作,變動的傳球,逃跑和回電。例如見XAJAX,但還有其他幾種。
反之亦然不可能的,但在JavaScript中的PHP是:'disp_confirm(「'。$ row-> university。'」)',如果你使用單引號echo你的變量將不會被解析。 –
反過來也是可能的,但要複雜得多(因爲Javascript只會在PHP結束後纔開始執行)。您只需使用AJAX調用PHP腳本,並將該變量作爲CGI變量轉發。 –
@SF。在OP的情況下反之亦然是不可能的。 –