我有这个表填充php变量,并在我的PHP代码中创建。在我创建的每一行之间我想执行一些javascript。所以在创建新行之前,我尝试执行一些javascript。但由于某种原因,javascript只是不执行。表格创建得很好。这是我的代码:
functions.php(我用来填充表格的代码)
while ($result->fetch())
{
$htmlString .= "<script>document.write('Test');</script>";
$htmlString .= "<tr>";
$htmlString .= "<td>". $i ."</td>";
$htmlString .= "<td>". $name ."</td>";
$htmlString .= "<td>". $condition ."</td>";
$htmlString .= "</tr>";
$i++;
}
echo $htmlString;
答案 0 :(得分:0)
您无法在两个表格行之间打印文本。试试这个:
while ($result->fetch())
{
$htmlString .= "<tr><td colspan=\"3\"><script>document.write('Test');</script></td></tr>";
$htmlString .= "<tr>";
$htmlString .= "<td>". $i ."</td>";
$htmlString .= "<td>". $name ."</td>";
$htmlString .= "<td>". $condition ."</td>";
$htmlString .= "</tr>";
$i++;
}
答案 1 :(得分:0)
php代码可以生成一个HTML / JS页面,当它到达浏览器并且浏览器已解释它然后它运行你的javascript代码,但它不可能写当您仍然通过PHP服务器端生成页面时要解释的javascript。如果可能,您必须使用PHP代码编写“javascript功能”服务器端。
答案 2 :(得分:0)
不是将javascript添加到$htmlString
,而是立即回复它。所以现在我可以用我想要执行的真正的javascript替换document.write('Test')
:
while ($result->fetch())
{
echo "<script>document.write('Test');</script>";
$htmlString .= "<tr>";
$htmlString .= "<td>". $i ."</td>";
$htmlString .= "<td>". $name ."</td>";
$htmlString .= "<td>". $condition ."</td>";
$htmlString .= "</tr>";
$i++;
}
echo $htmlString;
答案 3 :(得分:0)
<script>
和<table>
之间不允许 <tr>
。当脚本尝试在此时插入HTML时,它会因为无效的HTML而停止这样做。我建议改为使用console.log('Test');
。
否则,您无法在src
<script>
- 属性和内联代码