我的表单中有一个下拉字段和一个文本字段。 每当用户按下按钮时,我希望它显示两个字段两次。 我正在使用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/