【问题标题】:Pass PHP variable to Javascript won't work [duplicate]将PHP变量传递给Javascript不起作用[重复]
【发布时间】:2016-08-29 16:48:33
【问题描述】:

我的网站有两个不同的页面,我们称它们为 page1 和 page2。在第一页上,我有一个处理一些信息的 HTML 表单。然后我有一个 php 文档来将这些信息处理成一个 .txt 文件。然后我的第 2 页上有一张图片,我想根据特定变量更改这张图片。这个变量是在 php 脚本中设置的,它检查某个值是否正确,然后它将这个特定变量设置为 1 或 2。然后如 page2 上所说,我有这个图像我想根据 php变量是 1 或 2。我试图通过 page2 上的 javascript 获取 php 变量,然后首先显示它以确保我得到正确的值。但是当我这样做时,我只会得到“null”并且几乎​​没有任何事情发生。它加载页面但不显示任何内容。请记住,当我说页面等时,这是因为 page1 是一个 HTML 文档,page2 是另一个 HTML 文档,然后当然 php 函数是一个单独的 php 文档。

用户可以从下拉菜单中选择的 HTML page1

<div id="sKind">
     <select border="0" size="1" name="produKind" id="cSK" data-selected="" required="">
        <option value="">enter color</option>
        <option value="white">White</option>
        <option value="black">Black</option>
    </select>
    </div>

我用来传递值和变量的php文件

<?php

    $field_skind = $_POST['produKind'];

    $imgShow = 1;
    if ($field_skind == white){
      $imgShow = 1;
    } else if ($field_skind == black) {
      $imgShow = 2;
    }
    echo json_encode($imgShow);
?>

我在 page2 html 上使用的代码

<script>

var imgNumber = <?php echo json_encode($imgShow)?>;

document.getElementById("insert").innerHTML = imgNumber;

</script>

<p id="insert"></p>

【问题讨论】:

  • 发布结果:var imgNumber = &lt;?php echo json_encode($imgShow)?&gt;;
  • 你做错了,试着找一个简单的AJAX教程,网上有很多。
  • 如果第 2 页是 .html 你不能在上面放 PHP。另外,那个 PHP var 是从哪里来的?它们不只是从一个文件转移到另一个文件。
  • 如果你的变量是数字,你不需要使用json_encode,你只需要更复杂的结构,比如数组或对象。

标签: javascript php html json


【解决方案1】:

变量只存在于它出现的程序中。

单独的 HTML 文档不是同一个程序。这根本不是一个程序。

如果要使用变量,则需要从那个 PHP程序生成第2页的内容。

【讨论】:

  • 谢谢你的回答,我其实不知道我能把它全部放在一个代码中。我已经弄清楚了,它现在可以工作了。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2014-01-11
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多