我正在尝试创建一个jquery调查问卷,但我的jquery知识对我没有帮助。
到目前为止,我所拥有的是以下http://valogiannis.com/stackoverflow/quest.html
当您单击“问题”时,将打开一个包含两个问题的弹出窗口。
我想要的是:当用户点击两个答案中的一个时,脚本检查他的答案。数组CheckFirstAnswer负责“判断”第一个答案是错误还是正确,0代表错误,1代表正确。如果用户点击正确的答案,那么我想显示下一个问题及其答案,从数组问题,FirstAnswer,SecondAnswer,否则相应的结论成比例的I值。
如果有任何帮助,我将不胜感激。
谢谢
发布于 2010-10-31 20:33:45
[]
问题管理器
// question number
var currentQ = -1;
function showNewQuestion(el) {
currentQ++; // increment question number
$('.messagepop').html( Question[currentQ] + '<br />' +
'<a href="#" class="first">'
+ FirstAnswer[currentQ] + '</a><br />' +
'<a href="#" class="second">'
+ SecondAnswer[currentQ] + '</a><br />' +
'<a href="#" class="close">close</a>' );
}
function validate(answer) {
var firstIsTrue = CheckFirstAnswer[currentQ];
// correct answer (new question)
if ( firstIsTrue && answer == 1
|| !firstIsTrue && answer == 2 ) {
showNewQuestion();
}
// incorrect answer (conclusion)
else {
$('.messagepop').html(Conclusion[currentQ]);
}
}单击处理程序
$(function () {
$("#container_div").live('click', function (event) {
// which element was clicked
var el = $(event.target);
// first answer was clicked
if (el.hasClass("first")) {
validate(1);
}
// second answer was clicked
else if (el.hasClass("second")) {
validate(2);
}
// questions opener was clicked
else if (el.attr("id") == "questions") {
el.addClass("selected").parent()
.append('<div class="messagepop pop" />');
showNewQuestion();
$(".pop").slideFadeToggle();
}
// popup close was clicked
else if (el.hasClass("close")) {
$(".pop").slideFadeToggle();
$("#questions").removeClass("selected");
}
});
});发布于 2010-10-31 20:07:05
您应该使用$.ajax发回答案,以便服务器可以评估答案并发送下一个问题。目前,任何有JS基础知识的人都可以看到CheckFirstSnswer数组并知道正确答案。您在网站上有一个HTML页面,因此我不知道您正在使用的服务器端编程语言。
创建一个接受来自此页面的帖子并评估请求的新页面。此页面会将问题id、选择的答案和已授权的用户id发送到新页面。新页面将在服务器端维护分数并发送下一个问题
https://stackoverflow.com/questions/4062954
复制相似问题