javascript - 如何在js insidehtml中输出php代码?

标签 javascript php

我的表单中有一个下拉字段和一个文本字段。 每当用户按下按钮时,我希望它显示两个字段两次。 我正在使用innerHTML 执行js 部分,并且我想将php include 输出到包含两个字段的代码的文件中。现在由于某种原因,我无法使用innerHTML 输出php 代码。

有人可以解释一下为什么以及如何解决这个问题吗?包含字段代码的文件中包含 PHP 和 sql,因此我不能只将代码放在“”innerHTML 之后。

function addInput()
{
    var boxName='textBox'+countBox; 
    document.getElementById('stops').innerHTML+="<?php include'arrivalField.php;'?>";  
    countBox += 1;
}

当我按下带有这样的代码的按钮时,什么也没有发生。如果我将innerHTML =“”更改为“Hello,world”,它就可以工作。特别是因为它是 PHP。

arrivalField.php 包含

<div class='dropdown'><label for='pwd'>Vehicle:</label><select name='vehicle' id='vehicle' class='form-control'>
        <?php
                //For each car that user has, add it to the top of the dropdown.
                $fetchCars = 'SELECT idCar, brandName, modelName FROM car WHERE idAcc = \''.$_SESSION[UserID].'\'';
                $cars = $conn->query($fetchCars);

                if(!empty($cars)){
                    $row = mysqli_fetch_array($cars);
                    foreach ($cars as $car) {
                    echo '<option class=\'dropdown-item\' value=\'Car\'.$car[idCar].\'>'.$car[brandName].' '.$car[modelName].'</option>';
                    }
                }
            ?>
            <option class='dropdown-item' value='Bicycle'>Bicycle</option>
            <option class='dropdown-item' value='Long-distance bus'>Long-distance Bus</option>
            <option class='dropdown-item' value='City bus'>City bus</option>
            <option class='dropdown-item' value='Plane'>Plane</option>
            <option class='dropdown-item' value='Train'>Train</option>
            <option class='dropdown-item' value='Foot'>Foot</option>
            <option class='dropdown-item' value='Subway'>Subway</option>
            <option class='dropdown-item' value='Tram'>Tram</option>
        </select>
    </div>
    <br>

最佳答案

  • 首先,我猜你没有完全理解,PHP 严格在 javascript 之前执行,并且在你的情况下,你尝试从 PHP 生成 js 代码。因此,将此代码放在正确的位置非常重要。我的意思是,例如,如果您将此代码放入 .js 文件中,它将不会使用 PHP 进行预处理(使用默认服务器配置)。这可能是必要的。
  • 其次,了解这一点非常重要:PHP 代码的输出必须经过专门准备才能与 js 语法兼容。例如,如果您的 PHP 代码输出双引号 ("),则可能存在问题,因此您会收到 js 语法错误。您可以使用客户端 js 调试器检查这一点。

关于javascript - 如何在js insidehtml中输出php代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58790636/

相关文章:

javascript - 在 reactjs 中设置 componentDidMount 间隔是一种正确的方法吗?

javascript - 在谷歌网站上检测黑莓浏览器

javascript - 限制日期选择器上的日期范围选择

php - 从php文件+ajax获取数据

php - php 脚本中的 Cron 不起作用

javascript - 连续更改每个其他 div 的背景颜色

javascript - 在 IE 10/11 中使用数组作为 indexedDB keyPaths

javascript - 在某些 PHP 条件后发送 AJAX 调用

javascript - 解析器错误语法错误: Unexpected number in JSON

php - LinkedIn API有没有办法获得技能认可