0

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

我想使用 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) 为空;无论是当我刚刚加载页面还是从下拉框中选择并单击查看时。请有人帮我解决这个问题。

谢谢。

4

1 回答 1

1

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

var slon1 = <?php echo (json_encode($siteLon1)); ?>;
于 2013-09-27T22:01:10.707 回答