通过AJAX加载页面时输出Javascript变量

通过AJAX加载页面时输出Javascript变量,javascript,ajax,Javascript,Ajax,我有一个测验,每个问题都使用AJAX重新加载到一个div中,而不是刷新整个页面 我有一个变量quizScore,它保存用户的分数 最后一次按下按钮时,页面questionEndquick.php被加载到我的quizWrapper中 我想将分数输出到名为scoreout <span id="scoreOut"></span> 问题是,当通过AJAX加载页面时,这不会运行。因此,我尝试将其绑定到AJAX页面加载的成功: $( document ).ajaxComplete(

我有一个测验,每个问题都使用AJAX重新加载到一个div中,而不是刷新整个页面

我有一个变量
quizScore
,它保存用户的分数

最后一次按下按钮时,页面
questionEndquick.php
被加载到我的
quizWrapper

我想将分数输出到名为
scoreout

<span id="scoreOut"></span>
问题是,当通过AJAX加载页面时,这不会运行。因此,我尝试将其绑定到AJAX页面加载的成功:

$( document ).ajaxComplete(function( event,request, settings ) {
  document.getElementById("scoreout").value = quizScore;  
});
因此,当打开该脚本的页面运行时,它应该运行并输出分数,但它似乎不起作用


您可以在这里看到该站点:

。value
用于表单元素,如
标记。对于div、span或其他类型的HTML元素,应该使用
.innerHTML

document.getElementById("scoreout").innerHTML = quizScore;
至于计时问题,您只需要在
scoreout
DOM对象位于页面中并且
quizScore
处于其当前值之后执行此语句。这不会将
quizScore
的值永久绑定到DOM元素,它只是值的一次性传输。您需要在任何时候重新运行此语句以显示新更改的分数


如果您是通过ajax调用更新此分数,您可以在任何ajax调用完成后使用
.ajaxComplete()
更新分数,也可以在计算新更新的分数后立即更新代码中的分数显示(无论代码中位于何处)。

我查看了您的网站。为了使其正常工作,您应该更改
nextQuestion
函数并添加
if(buttonID…
)如下:

if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
    document.getElementById("quizWrapper").innerHTML=xmlhttp.responseText;
    if (buttonID == "question_endQuiz") {
        document.getElementById("scoreOut").innerHTML = quizScore;
    }
}
它也应该是“scoreOut”而不是“scoreOut”,因为javascript是区分大小写的

if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
    document.getElementById("quizWrapper").innerHTML=xmlhttp.responseText;
    if (buttonID == "question_endQuiz") {
        document.getElementById("scoreOut").innerHTML = quizScore;
    }
}