【问题标题】:Is it possible to change HTML within PHP code?是否可以在 PHP 代码中更改 HTML?
【发布时间】:2022-01-13 12:42:21
【问题描述】:

在 PHP 中运行 Javascript 代码的最简单方法是什么,最好不使用外部库?具体来说,我需要根据使用用户表单输入执行的一些计算来更改 div 的 innerHTML,这些计算之前使用 $_POST 在单独的表单中捕获。如何让以下 JS 代码在以下 PHP 代码中运行? (我最基本的尝试是使用 echo 命令,但它会抛出错误)

HTML:

<div id="output">
                
</div><!--#output -->

PHP(包括所需的 JS):

if (count($valid_locations)<$num_of_locations){
      echo '<script>const output = document.querySelector("#output");</script>;';
      echo '<script>output.innerHTML = "<div class="alert-danger"> Trip unable to be created. Please adjust the budget/number of travelers/duration etc.</div>;";</script>';
}else{
      createTrip($trips);
}

现在,IF 条件为 True,代码运行,但它回显“;”由于某些原因。我已经验证满足条件并且它通过添加一个简单的回声“this runs”来运行,它确实在刷新时出现。我只是不明白为什么它输出到默认的回显空间并且脚本没有运行来更改输出 div 的 innerHTML。这甚至可能与PHP有关吗?如果是这样,最好的方法是什么? (不需要安全,不会公开使用)。我听说过一些东西,比如ajax,但它看起来很复杂。任何关于这种情况的特定内容的解释都将不胜感激。

【问题讨论】:

  • - 同样当它输出“;”时,控制台也包含错误:Uncaught SyntaxError: Unexpected identifier
  • 这里的java标签有什么意义?
  • 对不起,我以为他们很相似,我是一个年轻的新程序员,只是想完成一些项目。
  • 有什么理由不直接用PHP 填充output,而是用JS 修改它的内容?

标签: javascript php html


【解决方案1】:

跟进cmets,你不需要JS来实现你想要的。你可以使用PHP

<?php
    $output = null;
    if (!empty($_POST)) {
        //...
        //... do stuff
        //... 
       if (count($valid_locations)<$num_of_locations){
            $output = 'Error occured - bla bla bla';
       }
    }
?>
<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <?php if (isset($output)) {?>
        <div id="output"><?= $output; ?></div>
        <?php } ?> 
    </body>
</html>

【讨论】:

  • 绝对传奇。谢谢你。到处都发现了这个问题,人们把它复杂化了,但是这个简单的重新排列(即使我在代码的其余部分中确实有同样的东西哈哈),一开始我并没有想到。巨大的帮助,再次感谢 :) 对于像我这样想知道他们的具体情况的新人:使用 PHP 将变量更改为您想要的任何内容,并在 HTML div 本身中使用 PHP 来捕获变量。
猜你喜欢
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
  • 2014-08-28
  • 2014-11-15
  • 2022-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多