繁体   English   中英

我如何将 php 变量的值分配给 javascript 变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM