我试图在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>
任何人都可以看到我需要做些什么才能让它发挥作用?
谢谢,
约翰
答案 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,你有更高的安全风险),但是会起作用 - 我不推荐这样做。