我想在javascript中使用计数器变量,就像使用计时器的静态变量一样。计数器必须每秒钟递减1。我正在做在线考试。在回答一个问题时,新问题出现在同一页上。我的问题开始于计数器变量被初始化为新的问题(意味着新的页面)。计数器变量在新的page...suggest any解决方案中不存在
<script language="JavaScript">
function ExamTimer()
{
if ( typeof ExamTimer.counter == 'undefined' )
{
ExamTimer.counter = 30000; // 30 min
}
else
{
ExamTimer.counter = ExamTimer.counter-1;
if(ExamTimer.counter<=0)
{
alert("exam finish");
}
setTimeout(ExamTimer, 1000);
}
window.onload=ExamTimer;
</script>
发布于 2013-03-18 11:39:19
使用ajax将值从一个页面传递到另一个页面。使用会话保存最后一个remainTime泰语被传递到下一页
<script language="JavaScript">
function ExamTimer()
{
if ( typeof ExamTimer.counter == 'undefined' )
{
ExamTimer.counter = <cfoutput>#session.RemainTime#</cfoutput>;
}
else
{
ExamTimer.counter = ExamTimer.counter-1;
$.get('linktosend.cfm',{counter:ExamTimer.counter},function(responseText)
{
// value of ExamTimer.counter send to linktosend.cfm and store in session.RemainTime
});
if(ExamTimer.counter<=0)
{
alert("exam finish");
}
setTimeout(ExamTimer, 1000);
}
window.onload=ExamTimer;
</script>
发布于 2013-03-17 11:02:54
Javascript变量的存在时间不会超过当前页面的负载。浏览器的Javascript引擎在每次页面加载时执行代码(通过most browsers cache the complied code),因此每当页面重新加载时,客户端变量都会丢失。
有几种常见的方法可以将值从一个页面传递到另一个页面:
通过GET或POST请求
无论您选择哪种方法,请记住,它需要对用户不想要的操作具有足够的弹性。
https://stackoverflow.com/questions/15459933
复制相似问题