Aplicação web- botões anterior e próxima

3 respostas
Sandra_Mota

Boa Tarde a todos.

Estou implementando a nível acadêmico um sisteminha para criar avaliações (quizz) a serem respondidos pela web. Toda a parte de criação de questões e avaliações eu já fiz.

Agora qdo chegou na parte de execução de uma avaliação pelo aluno é que eu estou tendo uma dificuldade em fazer que o aluno trafegue entre as questões das avaliações podendo avançar e recuar… sendo que se ele fizer isso eu tenho que armazenar a resposta dele refernte aquela questão…
além disso eu preciso ter um botão “submit” caso ele queira terminar a avaliação a qualquer momento.

basicamente eu fico num ciclo…

questão.jsp (aqui a questão é apresentada para o aluno)  (aqui dentro possui uma tag para montar a questão da vez);

então ele encaminha para um servlet ambienteAval , por exemplo, que deve:

armazenar o resultado da questao da Vez;

verificar se o aluno foi para a proxima, para anterior ou terminou a avaliação e então de duas uma:

-> se terminou, encaminhar para algo que eu possa fazer a correção

-> se ele foi para a proxima ou anterior  encaminha novamente para o jsp (questao.jsp)

Gente eu sou iniciante, caso essa lógica seja tosca, por favor encaminhe algo melhor…

Agradeço desde já
bjo
:roll:

3 Respostas

jgbt

não sei se entendi direito, mas vc podia ter duas actions, uma p/ os botões avançar/voltar e outra para o encerrar…
crie duas funções javascript e nelas indique qual action vc quer.
os botões disparariam essas funções.
nas funcões vc seta o valora da action:

document.form.action='action1'';

não sei se era isso…

[]'s

Sandra_Mota

Ola!!!

Valeu pelo conselho… mas eu tinha feito mais ou menos isso e funcionou!!!

[]s
:lol:

_fs

Se não forem muitas questões, você pode espalhá-las todas dentro de divs invisíveis, que contém cada uma das páginas. Ao clicar em ‘próxima’ ou ‘anterior’, a aplicação apenas trocaria qual página está visível.

Sendo assim, os dados seriam enviados ao servidor apenas uma vez, com todas as perguntas respondidas.

Algo assim:

var lastPage;
var currentPage = 1;
function trocaPagina( var direction )
{
    currentPage = currentPage + ( 1 * direction ) 
    var newFrame = document.getElementById( 'pagina' + currentPage );

    newFrame.style.visibility = '';
    lastFrame.style.visibility = 'none';

    lastFrame = newFrame;
}

<form action="sendResultado">
    <div id="pagina1">
        <input type="checkbox" name="pergunta1"/>
    </div>

    <div id="pagina2">
        <input type="checkbox" name="pergunta2"/>
    </div>

    <input type="button" value="anterior" onclick="mudaPagina( -1 );"/>
    <input type="button" value="próxima" onclick="mudaPagina( 1 );"/>

    <input type="submit"/>
</form>

Claro que é necessário melhor a função muda página para tratar erros, bem como fazer os divs ficarem sobrepostos.

Criado 5 de março de 2005
Ultima resposta 6 de mar. de 2005
Respostas 3
Participantes 3