我遇到了如何在php中回显javascript的问题。我有一个表单,在提交时将执行自己并回显一些文本,并将重定向到5secs页面。我现在正在回应这个:
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>
现在我想回应这个倒计时脚本来替换html中的<fieldset>
。我尝试过几个例子,只需在1 echo '';
中添加整个代码,我试图单独回显所有行,但两者都会崩溃我的整个脚本。如果有人知道怎么做,那就太好了!
答案 0 :(得分:3)
我不会写所有那些echo,而是将所有HTML和JS留在PHP块之外
<?php
some php code
?>
HTML AND JS
<?php
More php if required
?>
并使用
<?=$Naam?>
在必要时注入您的值
或者你应该看一下模板引擎
答案 1 :(得分:2)
尝试使用
echo <<<EOT
/* some text here */
EOT;
答案 2 :(得分:0)
您可以将脚本放在单独的.js文件中,并将echo
脚本标记:
<? echo "<script type='text/javascript' src='path/to/script.js' ></script> ?>
不要忘记从JS文件中删除任何HTML标记,例如<body>
,<head>
等。