在Javascript中传递PHP变量

时间:2016-10-03 14:59:59

标签: javascript php

我试图在Javascript中传递PHP变量,但它无法正常工作。请在下面找到我正在使用的代码:

function delete_id(id)
{
     if(confirm('Are you sure you want to permanently delete this record?'))
     {
        window.location.href='index.php?cabinet_id_delete='+id+'&estimate_id=<?php echo $estimate_id; ?>';
     }
}

也许我需要编辑调用JS的代码?它在下面:

<a href='javascript:delete_id(".$rows['estimates_cabinet_id'].")'>DELETE</a>

任何人都可以看到我需要做些什么才能让它发挥作用?

谢谢,

约翰

2 个答案:

答案 0 :(得分:2)

您将无法使用javascript文件中的php。将“变量”传递给javascript的一些常用方法可能是在html页面中打印出来:

的index.html

<script>
  var estimate_id = <?php echo $estimate_id; ?>;
</script> 

main.js

esitmate_id现在可用作全局变量。

function delete_id(id)
{
  if(confirm('Are you sure you want to permanently delete this record?'))
  {
    window.location.href='index.php?cabinet_id_delete='+id+'&estimate_id='+estimate_id;
  }
}

或者您可以在脚本标记

中的index.php文件中使用当前代码

答案 1 :(得分:0)

根据你的评论,看起来你有一个有效的php脚本,你可以在其中链接到一个js文件(通过<script src=...>)。

这样的js文件中的Php不会以php的形式执行,而只是按原样发送到浏览器。

所以简单的解决方案是将js代码移动到你输出html的php文件中:

<?php
$estimate_id=1;
?>
<html>
<script>
function delete_id(id)
{
    if(confirm('Are you sure you want to permanently delete this record?'))
    {
       window.location.href='index.php?cabinet_id_delete='+id+'&estimate_id=<?php echo $estimate_id; ?>';
    }
}
</script>
<?php
// more php...
?>

另一种解决方案可能是让你的服务器以php的形式执行js-files 这可能很棘手(你不能简单地传递params,你有更高的安全风险),但是会起作用 - 我不推荐这样做。