从php文件运行javascript

时间:2014-11-25 13:41:47

标签: javascript php html

我有这个表填充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;

4 个答案:

答案 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> - 属性和内联代码