要打印变量转换为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的情况下反之亦然是不可能的。 –