0

我在如何在 php 中回显 javascript 时遇到问题。我有一个表单,它在提交时会自行执行并回显一些文本,并将在 5 秒内重定向到一个页面。我目前正在附和这个:

header("Refresh: 5;url=index2.php?ID=".$objResult["ID"]."");

echo '<html>';
echo '<head>';
echo '<title>Klant toevoegen</title>';
echo '<link rel="stylesheet" href="style.css" type="text/css" media="screen" />';
echo '</head>';
echo '<body>';
echo '<fieldset>';
echo ''.$Naam.' is added to the database, u will be redirected in a couple of seconds.<br><br>';
echo '</fieldset>';
echo '</body>';
echo '</html>';

我拥有的 javascript 是从 5 倒数到 1 的倒计时。代码是这样的:

<script>

var countdownFrom = 5;  // number of seconds
var countdownwin;

var stp;
function CountDownStart() {
 stp = setInterval("CountDownTimer('CountDownTime')",1000)
}

function CountDownTimer(id)
{
if (countdownFrom==0) {clearInterval(stp); window.close(); }
else     {
            var x
            var cntText = "Closing in "+countdownFrom+" seconds";

        if (document.getElementById)
    {
        x = document.getElementById(id);
        x.innerHTML = cntText;        }
    else if (document.all)
    {
        x = document.all[id];
        x.innerHTML = cntText;        }
    }
countdownFrom--
}

</script>
   <title>Untitled</title>
</head>

<body onload="CountDownStart()">

<Div id="CountDownTime"></div>

</body>

现在我想回显这个倒计时脚本来替换<fieldset>html 中的。我已经尝试了几件事,比如将整个代码添加到 1 中echo '';,并且我尝试单独回显所有行,但两者都会使我的整个脚本崩溃。如果有人知道如何做到这一点,那就太好了!

4

3 回答 3

3

我不会写所有这些回声,而是将所有 HTML 和 JS 留在 PHP 块之外

<?php
some php code
?>

HTML AND JS

<?php
More php if required
?>

并使用

<?=$Naam?>

在需要的地方注入你的价值观

或者,您应该查看模板引擎

于 2013-04-16T08:08:25.700 回答
2

尝试使用

echo <<<EOT
   /*  some text here */
EOT;
于 2013-04-16T08:09:45.993 回答
0

您可以将脚本放在单独的 .js 文件和echoscript 标签中:

<? echo "<script type='text/javascript' src='path/to/script.js' ></script> ?>

不要忘记从 JS 文件中删除任何 HTML 标签,例如<body>,<head>等。

于 2013-04-16T08:08:14.877 回答