[英]how do i assign value of php variable to javascript variable
<html>
<head>
<?php
$bldg_number=-1;
?>
<script language="javascript" type="text/javascript">
var bldg=<?php echo $bldg_number; ?>
if( bldg < 0)
{
alert("me");
}
else
{
alert("hi");
}
</script>
我期待 output 收到一条带有消息的警报,但是当我运行此页面时没有 output 请告诉我为什么 php 变量的值没有传递给 javscript 变量
您的代码在var
行末尾需要一个分号(请继续阅读以了解原因):
<script language="javascript" type="text/javascript">
// here --------------v
var bldg=<?php echo $bldg_number; ?>;
if( bldg < 0)
{
alert("me");
}
else
{
alert("hi");
}
</script>
JavaScript 有一个名为“自动分号插入”的功能,通常会使该错误无害(该功能是否无害是另一回事),但不幸的是 PHP 把它搞砸了,因为 ASI 只有在缺少分号的地方出现换行时才会启动,和PHP 吃掉?>
标签后面的换行符:
...当 PHP 击中
?>
结束标签时,它只是开始输出它找到的任何内容(除了紧随其后的换行符 - 请参阅指令分离)
因此,实际上将 output 带到您的页面的是:
var bldg=-1 if( bldg < 0)
...这是 JavaScript 中的语法错误。 添加分号修复它,因为 output 是:
var bldg=-1; if( bldg < 0)
...这是有效的。
尝试
var bldg=<?php echo $bldg_number; ?>;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.