在JS功能中使用php变量

using a php variable in a JS funcion

本文关键字:php 变量 JS 功能      更新时间:2023-09-26

我之前问过这个问题,但我提供的示例并没有提供我真正的问题。

我想使用 php 变量从表单中获取输入,并在 javascript 函数中使用它。我不直接使用 javascript,因为有问题的变量的内容是从 mysql 数据库中获得的,我认为我没有办法使用 javascript 访问数据库。

下面是我到目前为止的代码:

<!DOCTYPE html>
<html>
  <head>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function initialize() {
    var slon1 = '<?php echo (json_encode($siteLon1)); ?>';  
    self.alert(slon1);
    //some code goes here.
}
</script>
</head>
  <body>
        <div align="center">
     <form method="get">
        <label>Choose Site</label>
        <select name='ps' id="ps" data-inline="true">
                        <?php
                            $use = $fgmembersite->getsites($fgmembersite->UserFullName());
                            $fields_num = mysql_num_fields($use);
                            while($row = mysql_fetch_row($use))
                            {
                                echo "<option value='".$row[0]."'>".$row[0]."</option>";
                            }
                        ?>
         </select>
         <input type="submit" name="submit" value="View">
     </form>
     </div>   
    <div id="map-canvas"></div>
  </body>
</html>
令人

惊讶的是,self.alert(slon1)上显示的结果为空;无论是当我加载页面时还是从下拉框中选择并单击"查看"时。请有人帮我解决这个问题。

谢谢。

JSON 编码器应该引用变量,因此手动使用单引号会触发 JavaScript 解析错误。检查 JS 控制台。这应该生成有效的JS代码:

var slon1 = <?php echo (json_encode($siteLon1)); ?>;