长期读者,第一次海报。
在http://www.howardpitch.com/的网站上工作,我在首页上的测验时遇到了非常令人沮丧的时间。您选择四个答案中的一个,然后单击“检查我的答案”按钮。这将告诉您是对还是错,并为您提供下一个问题的按钮。您可以在Firefox,Chrome等中整天播放,但在Internet Explorer中,它会在您回答第一个问题后继续循环播放相同的问题。
jQuery的live方法与click事件一起使用来处理下一个问题并通过AJAX调用将其返回到首页,因为首次加载DOM时“Next Question”按钮不存在。
我非常感谢对我的代码的任何指导/改进。建设性和相关的批评是我们学习的方式。
这就是我在jQuery方面所拥有的。
$('.btnCheckAnswer').live('click', function(e){
$.ajax({
url:'/includes/quiz-check.php',
type:'POST',
data:$('#frm_quiz').serialize(),
success:function(data){
$('#game').replaceWith(data);
}
});
e.preventDefault();
return false;
});
$('.nextQuestion').live('click', function(e){
$.ajax({
type:'GET',
url:'/includes/quiz.php',
success:function(data){
$('#game_response').replaceWith(data);
}
});
return false;
});
非常友好地谢谢。
答案 0 :(得分:1)
这可能是一个缓存问题。尝试将cache
选项设置为false,和/或使用缓存断路器(随机数,或时间戳,与URL一起传递):
$('.nextQuestion').live('click', function(e){
$.ajax({
type:'GET',
cache: false,
url:'/includes/quiz.php?' + Math.round(new Date().getTime() / 1000),
success:function(data){
$('#game_response').replaceWith(data);
}
});
return false;
});
您也可以尝试使用POST请求。