我有以下代码,以及javascript回声之前的东西以及javascript包含之后的内容,但是javascript不会回应:/
$currentPage = $_POST["current_page"];
$nextPage = 1 + $currentPage;
$count = $_POST["cum_count"];
$total = $_POST["cum_total"];
$progress = $_POST["cum_progress"];
echo $currentPage . $nextPage;
# number of questions less 1
$numQs[2]=6;
$numQs[3]=3;
$numQs[4]=5;
$numQs[5]=34;
$numQs[6]=17;
$numQs[7]=43;
$falses = array('false');
for ($i=0; $i < $numQs[$nextPage]; $i++) {
array_push($falses,', false');
}
# the js is how the survey keeps track of where it is
echo "<script type='text/javascript'>\n
var c_name = 'whbssurvey';\n
var c_value = '$nextPage';\n
document.cookie=c_name + '=' + c_value;\n
// set survey info\n
var count = $count;\n
var total = $total;\n
var progress = $progress;\n
var qArray = [$falses];\n
</script>";
include("$nextPage.php");
P.S。如果有人认为cum_count
是脏的东西,那么它就是累积的。
答案 0 :(得分:3)
你确定它没有回音吗?在你做包含之前,它已经完成了。如果包含的是一个完整的html页面,则JS将在开始<html>
标记之前回显(这会使页面无效)。
同样,对于倾销这样的多行文本,您应该退出PHP模式,以便它只是自动回显的纯文本,或者使用HEREDOC。由于您要将几个PHP变量插入到该输出中,因此可能更喜欢HEREDOC。
答案 1 :(得分:1)
尝试使用<script>
和</script>
标记进行回显。它可能正在打印但您的浏览器由于某种原因没有呈现它。如果你得到了页面上所有的代码,那就有用了。
答案 2 :(得分:0)
尝试:
echo "<script type='text/javascript'>\n" .
"var c_name = 'whbssurvey';\n" .
"var c_value = '$nextPage';\n" .
"document.cookie=c_name + '=' + c_value;\n" .
"// set survey info\n" .
"var count = $count;\n" .
"var total = $total;\n" .
"var progress = $progress;\n" .
"var qArray = [$falses];\n" .
"</script>";