如何使用 PHP 更改 innerHTML?

Posted

技术标签:

【中文标题】如何使用 PHP 更改 innerHTML?【英文标题】:How can I change innerHTML with PHP? 【发布时间】:2013-03-29 19:50:43 【问题描述】:

我想用 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>

【问题讨论】:

反对投票者:Please consider adding a comment if you think this post can be improved. 【参考方案1】:

有很多小错别字。尝试删除 $ 和 '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 加载到正确的位置?此外,您确实意识到“页面”应该是您的 html 中预先存在的 div 的 id,对吗?这样的东西会更好:

<html>
  <body>
    <div id = "page">
      <?php echo file_get_contents("home.php"); ?>
    </div>
  </body>
</html>

【讨论】:

我将使用我的导航栏,所以当我按下一个按钮时,它只会在我的 div 中更改为 id = page。我有的不仅仅是家。 从该评论中,我认为您尝试做的是使用 javascript 动态检索页面的不同部分...您不能以这种方式进行操作,PHP 和 JavaScript 无法正常工作大大地。 PHP首先在服务器中弹出,然后页面被下载并且js可以在浏览器中执行,但是此时PHP无法执行(浏览器不执行PHP)。虽然可以通过Ajax 实现类似的功能。

以上是关于如何使用 PHP 更改 innerHTML?的主要内容,如果未能解决你的问题,请参考以下文章

使用 innerHTML 更改页面上的所有文本

如何使用间隔和函数来更改 div 的 innerHTML?

从外部 php 文件更改 innerHTML

使用 document.getElementById("id").innerHTML 时如何更改文本颜色

使用 php 循环遍历 XML 元素,查找匹配并更改子元素 innerHTML

如何使用 AJAX 在 innerHTML 中调用 PHP 值