在Question1中的图像上应该显示第一个问题,当我点击下一个问题时它应该显示第二个问题但问题是在问题1和问题2中显示我试过的两个问题以下plz纠正我的意思我在代码中做错了.. 羽绒选民请提及原因
<?php
include("../view/common/head.php");
?>
<style>
#registration-step{margin:0;padding:0;}
#registration-step li{list-style:none; float:left;padding:5px 10px;border-top:#EEE 1px solid;border-left:#EEE 1px solid;border-right:#EEE 1px solid;}
#registration-step li.highlight{background-color:#EEE;}
#registration-form{clear:both;border:1px #EEE solid;padding:20px;}
.demoInputBox{padding: 10px;border: #F0F0F0 1px solid;border-radius: 4px;background-color: #FFF;width: 50%;}
.registration-error{color:#FF0000; padding-left:15px;}
.message {color: #00FF00;font-weight: bold;width: 100%;padding: 10;}
.btnAction{padding: 5px 10px;background-color: #09F;border: 0;color: #FFF;cursor: pointer; margin-top:15px;}
</style>
<script>
$(document).ready(function() {
$("#next").click(function(){
var current = $(".highlight");
var next = $(".highlight").next("li");
if(next.length>0) {
$("#"+current.attr("id")+"-field").hide();
$("#"+next.attr("id")+"-field").show();
$("#back").show();
$("#finish").hide();
$(".highlight").removeClass("highlight");
next.addClass("highlight");
if($(".highlight").attr("id") == $("li").last().attr("id")) {
$("#next").hide();
$("#finish").show();
}
}
});
$("#back").click(function(){
var current = $(".highlight");
var prev = $(".highlight").prev("li");
if(prev.length>0) {
$("#"+current.attr("id")+"-field").hide();
$("#"+prev.attr("id")+"-field").show();
$("#next").show();
$("#finish").hide();
$(".highlight").removeClass("highlight");
prev.addClass("highlight");
if($(".highlight").attr("id") == $("li").first().attr("id")) {
$("#back").hide();
}
}
});
});
</script>
<?php
include('../model/functions.php');
if(!empty($_POST['course']) &&!empty($_POST['paper'])){
$course=$_POST['course'];
$paper=$_POST['paper'];
}
$sql="SELECT a.course_name,b.paper_name,c.set_name,d.* from courses a left outer join papers b on a.course_id=b.course_id left outer join question_sets c on b.paper_id=c.paper_id left outer join questions d on d.set_id=c.set_id where a.course_name='java' AND b.paper_id=2 AND c.set_id=3;
";
$result=$conn->query($sql);
$rowcount=$result->num_rows;
while($row=$result->fetch_assoc())
{
$selectoutter[]=$row;
}
foreach($selectoutter as $ques)
{
$questionid[]=$ques['question_id'];
$question[]=$ques['question_text'];
$option1[]=$ques['option_1'];
$option2[]=$ques['option_2'];
$option3[]=$ques['option_3'];
$option4[]=$ques['option_4'];
}
?>
<ul id="registration-step">
<li id="account" class="highlight">Account</li>
<li id="password">Credentials</li>
</ul>
<form name="frmRegistration" id="registration-form" method="post">
<?php
for($i=0;$i<$rowcount;$i++)
{
echo '<div id="'.$questionid[$i].'">';
echo '<p>'.$question[$i].'<p>';
echo '<input type="radio" name="question">'.$option1[$i].'<br>';
echo '<input type="radio" name="question">'.$option2[$i].'<br>';
echo '<input type="radio" name="question">'.$option3[$i].'<br>';
echo '<input type="radio" name="question">'.$option4[$i].'<br>';
echo '</div>';
echo '<br/>';
}
?>
<div>
<input class="btnAction" type="button" name="back" id="back" value="Back" style="display:none;">
<input class="btnAction" type="button" name="next" id="next" value="Next" >
<input class="btnAction" type="submit" name="finish" id="finish" value="Finish" style="display:none;">
</div>
</form>
</html>
答案 0 :(得分:1)
最好对每个新问题使用AJAX调用,如下面的
function getQuestion(type, options){
if(type == 0){
data = {type:"getQuestion"}
} else if(type == 1){
data = {type: "submitAndGetQuestion", questionID = option['ID'], questionAnswer = option['answer']}
} else if(type == 2){
data = {type: "submit", questionID = option['ID'], questionAnswer = option['answer']}
}
$.ajax({
type: 'post',
url: 'ajax.php',
dataType: 'json',
data: {type:"question"}
success: function(response) {
//populate response in forms
//print questionID (will be usefull when submit answer)
},
error: function (e) {
console.log(e)
},
});
}
首先致电getQuestion(0,null);
以下每次提交电话都会被调用
$("#submit").live('click',function() {
// get Question ID
// get answer
var options ={};
var options['ID'] = questionID;
var options['answer'] = questionAnswer;
getQuestion(1,options);
});
终于当时间过了简单的电话时
如果您要删除表单或重定向,请致电getQuestion(2,null);
。
在ajax.php中
<?php
if($_POST['type'] == "getQuestion"){
// get one question from table
$result = select_tables($query);// LIMIT 1 to get one question
echo json_encode($result);
} else if($_POST['type'] == "submitAndGetQuestion"){
//store last question answer into db
$id = $_POST['questionID'];
$answer = $_POST['questionAnswer'];
updateQuestionForUser();
//then again get a question
$result = select_tables($query);// LIMIT 1 to get one question
echo json_encode($result);
}
答案 1 :(得分:1)
得到了正确的,这是正常的
<?php
include("../view/common/head.php");
?>
<style>
#registration-step{margin:0;padding:0;}
#registration-step li{list-style:none; float:left;padding:5px 10px;border-top:#EEE 1px solid;border-left:#EEE 1px solid;border-right:#EEE 1px solid;}
#registration-step li.highlight{background-color:#EEE;}
#registration-form{clear:both;border:1px #EEE solid;padding:20px;}
.demoInputBox{padding: 10px;border: #F0F0F0 1px solid;border-radius: 4px;background-color: #FFF;width: 50%;}
.registration-error{color:#FF0000; padding-left:15px;}
.message {color: #00FF00;font-weight: bold;width: 100%;padding: 10;}
.btnAction{padding: 5px 10px;background-color: #09F;border: 0;color: #FFF;cursor: pointer; margin-top:15px;}
</style>
<script>
$(document).ready(function() {
$("#next").click(function(){
var current = $(".highlight");
var next = $(".highlight").next("li");
if(next.length>0) {
$("#"+current.attr("id")+"-field").hide();
$("#"+next.attr("id")+"-field").show();
$("#back").show();
$("#finish").hide();
$(".highlight").removeClass("highlight");
next.addClass("highlight");
if($(".highlight").attr("id") == $("li").last().attr("id")) {
$("#next").hide();
$("#finish").show();
}
}
});
$("#back").click(function(){
var current = $(".highlight");
var prev = $(".highlight").prev("li");
if(prev.length>0) {
$("#"+current.attr("id")+"-field").hide();
$("#"+prev.attr("id")+"-field").show();
$("#next").show();
$("#finish").hide();
$(".highlight").removeClass("highlight");
prev.addClass("highlight");
if($(".highlight").attr("id") == $("li").first().attr("id")) {
$("#back").hide();
}
}
});
});
</script>
<?php
include('../model/functions.php');
if(!empty($_POST['course']) &&!empty($_POST['paper'])){
$course=$_POST['course'];
$paper=$_POST['paper'];
}
$sql="SELECT a.course_name,b.paper_name,c.set_name,d.* from courses a left outer join papers b on a.course_id=b.course_id left outer join question_sets c on b.paper_id=c.paper_id left outer join questions d on d.set_id=c.set_id where a.course_name='java' AND b.paper_id=2 AND c.set_id=3;
";
$result=$conn->query($sql);
$rowcount=$result->num_rows;
while($row=$result->fetch_assoc())
{
$selectoutter[]=$row;
}
foreach($selectoutter as $ques)
{
$questionid[]=$ques['question_id'];
$question[]=$ques['question_text'];
$option1[]=$ques['option_1'];
$option2[]=$ques['option_2'];
$option3[]=$ques['option_3'];
$option4[]=$ques['option_4'];
}
?>
<ul id="registration-step">
<?php
echo '<li id="'.$questionid[0].'" class="highlight">Question1</li>';
?>
<?php
$sno=2;
for($i=1;$i<$rowcount;$i++)
echo '<li id="'.$questionid[$i].'">Question'.$sno++.'</li>';
?>
</ul>
<form name="frmRegistration" id="registration-form" method="post">
<?php
echo '<div id="'.$questionid[0].'-field">';
echo '<p>'.$question[0].'<p>';
echo '<input type="radio" name="question">'.$option1[0].'<br>';
echo '<input type="radio" name="question">'.$option2[0].'<br>';
echo '<input type="radio" name="question">'.$option3[0].'<br>';
echo '<input type="radio" name="question">'.$option4[0].'<br>';
?>
</div>
<?php
for($i=1;$i<$rowcount;$i++)
{
echo '<div id="'.$questionid[$i].'-field" style="display:none;">';
echo '<p>'.$question[$i].'<p>';
echo '<input type="radio" name="question">'.$option1[$i].'<br>';
echo '<input type="radio" name="question">'.$option2[$i].'<br>';
echo '<input type="radio" name="question">'.$option3[$i].'<br>';
echo '<input type="radio" name="question">'.$option4[$i].'<br>';
echo '</div>';
}
?>
<div>
<input class="btnAction" type="button" name="back" id="back" value="Back" style="display:none;">
<input class="btnAction" type="button" name="next" id="next" value="Next" >
<input class="btnAction" type="submit" name="finish" id="finish" value="Finish" style="display:none;">
</div>
</form>
</html>