如何在每页显示一个表单元素


How can I show one form element each page?

由于在web应用程序中显示所有问题看起来不太好,我想在一个页面中生成一个问题。但是,当我键入这些代码时,"上一个"按钮不起作用。在我点击上一个按钮后,"下一个"按钮就再也不会出现了。但是,我能把它做好并显示页码吗?非常感谢。

这些是我的代码:

<script>
$(document).ready(function(){
var totalQuestions = $('.questions').size();
var currentQuestion = 0;
$questions = $('.questions');
$questions.hide();
$($questions.get(currentQuestion)).fadeIn();
$('#next').click(function(){
    $($questions.get(currentQuestion)).fadeOut(function(){
        currentQuestion = currentQuestion + 1;
        $($questions.get(currentQuestion)).fadeIn();
    });

if(currentQuestion==(totalQuestions-2)){
$('#next').attr("class","ui-btn ui-shadow ui-corner-all ui-icon-arrow-r ui-btn-icon-right ui-state-disabled ui-btn-inline");
}else{
$('#next').attr("class","ui-btn ui-shadow ui-corner-all ui-icon-arrow-r ui-btn-icon-right ui-btn-inline");
}

});
$('#prev').click(function(){
    $($questions.get(currentQuestion)).fadeOut(function(){
        currentQuestion = currentQuestion - 1;
        $($questions.get(currentQuestion)).fadeIn();
    });
    if(currentQuestion==1||currentQuestion==0){
$('#prev').attr("class","ui-btn ui-shadow ui-corner-all ui-icon-arrow-l ui-btn-icon-left ui-state-disabled ui-btn-inline");
}
});
});
    $(document).ready(function () {
        $('div.questions').find('input:radio').prop('checked', false);
    });
</script>

这些是表单部分:

<form action="result.php?id=<?php echo $course_id;?>&cm_id=<?php echo $cm_id; ?>" method="post">
<?php
$getAssessmentSQL="SELECT * FROM assessment WHERE course_material_id=$cm_id order by rand()";
$ResultAssessment=mysql_query($getAssessmentSQL); 
// display a series of random images - PHP form solution 
// (c) 2004 David Pankhurst - use freely, but please leave in my credit 
$j=array(1,2,3,4); 
srand(time()); 
shuffle($j); 
while($getAssessment=mysql_fetch_array($ResultAssessment)){
//if multiple choice, then this method
echo "<div class='questions'>";
echo "<legend>".$getAssessment['question']."</legend>";
echo "<div class='options'>";
echo "<fieldset data-role='controlgroup'>";
for($i=0;$i<4;$i++){
echo "<label for='".$getAssessment['assessment_id'].$j[$i]."'>".$getAssessment['choice'.$j[$i]]."</label>
<input class='option' type='radio' name='".$getAssessment['assessment_id']."' id='".$getAssessment['assessment_id'].$j[$i]."' value='".$j[$i]."'>
";
}
echo "</fieldset>";
echo "</div>";
echo "</div>";
}
?>
<a name="ClickPrev" class="ui-btn ui-shadow ui-corner-all ui-icon-arrow-l ui-btn-icon-left ui-btn-inline" id="prev">Previous</a>
<a name="ClickNext" class="ui-btn ui-shadow ui-corner-all ui-icon-arrow-r ui-btn-icon-right ui-btn-inline" id="next">Next</a>


<button type="submit" name="submit" value="submit" data-theme="b">Submit</button>
</form>

您需要使用$.ajax(),其中您需要传递下一个或上一个的当前索引,并获得上一个或下一个问题,如

$(function(){
    function getQuestion(type){
       $.ajax({
           url:'getQuestion.php',type:'post',
           // type for prev or next from curentQuestion Index
           data:{curentQuestion:currentQuestion,type:type},
           success:function( response ){
               $('form').html(response);
           }
       });
    }
    // code to get previous or next question
    $('#prev,#next').on('click',function(){
        getQuestion(this.id);// pass id to get next or prev question
    });
});