我该如何使用PHP更改innerHTML?

7

我想用PHP代码更改innerHTML。但我无法使其工作,也不理解为什么。我希望它能够从另一个文件更改页面上的一些文本。因此,我认为我可以使用以下代码:

document.getElementById ("page"). innerHTML = "<? php echo $ home?>";

但是它不起作用。 以下是我的代码:
<?php
$home = file_get_contents("home.php");
?>
<script type="text/javascript">
    function ChangePage(page)
    {
       if(page == "home")
            {
            document.getElementById("page").innerHTML = "<?php echo $home ?";
            }
        }
</script>

10
给投反对票的人:如果您认为这篇文章可以改进,请考虑添加评论。 - Francisco Presencia
1个回答

6

有许多小的笔误。尝试在“$”和“home”之间以及“php”之前去掉空格。这是正确的语句:

document.getElementById ("page"). innerHTML = "<?php echo $home?>";

另外,请问您的 PHP 结束标记在哪里?
<?php
$home = file_get_contents("home.php");
?>
<script type="text/javascript">
    function ChangePage(page)
    {
       if(page == "home")
            {
            document.getElementById("page").innerHTML = "<?php echo $home; ?>";
            }
        }
</script>

尽管这是一种不良的做法,但为什么你要这样做而不是在正确的位置加载php呢?另外,你应该知道“page”应该是HTML中一个预先存在的div的id,对吧?以下代码会更好些:
```html
```
<html>
  <body>
    <div id = "page">
      <?php echo file_get_contents("home.php"); ?>
    </div>
  </body>
</html>

1
我将使用我的导航栏,这样当我按下一个按钮时,它只会在我的id = page的div中更改。 我不仅有主页。 - user2255325
从那个评论中我认为你想要做的是使用JavaScript动态检索页面的不同部分...你不能以这种方式做,PHP和JavaScript不是这样工作的。PHP首先在服务器上执行,然后下载页面,js可以在浏览器中执行,但此时PHP无法执行(浏览器不执行PHP)。虽然通过Ajax可以实现类似的功能。 - Francisco Presencia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接