代码之家  ›  专栏  ›  技术社区  ›  Kraken

innerHTML在窗口加载时不更改

  •  -1
  • Kraken  · 技术社区  · 7 年前

    下面是我的页面布局。

    php function to fetch data from db
    css that has got some animations for my divs
    <script type="text/javascript">
        window.onload = function()
        {
            var myVar = <?php echo callFunctionFromPHP() ?>;
            alert(myVar);
            document.getElementById("waiting").innerHTML = "Text after load";
        }
    </script>
    <body>
    <div id="waiting">Current text</div>
    

    但这是行不通的。尽管我知道javascript函数正在被调用,因为如果在JS函数中我只保留innerHTML行,那么页面将加载“after”文本。另外,我知道我的php函数运行得很好,因为当我检查页面源代码时,它会显示来自数据库的正确数据。

    但我的警戒命令不起作用。有人能帮我解决这里的问题吗?

    注意:我知道这可能不是最好的编码实践(像这样从js函数调用php),但我现在只做原型。

    1 回复  |  直到 7 年前
        1
  •  2
  •   imvain2    7 年前

    您需要将输出用双引号括起来:

    var myVar = "<?php echo callFunctionFromPHP() ?>";