Ajuda com esta duvida

RatoGR

Power Member
Boas pessoal,

Eu ando a tentar descobrir qual a linguagem que é mais eficaz para fazer este tipo de sistema:

- Vários inputs com escolha múltipla;
- No final um SUBMIT;
- E dar o resultado de quantas estão certas e quantas erradas.

Isto é apenas javascript?

Alguém quer da um ajudinha?

Obrigado
 
Neste codigo o que está mal? :/

Javascript:

// JavaScript Document
var questions = [
{text:"O nome do maior rio português é:",
alternatives:["Tejo","Mondego","Sado","Tua"],
correct:0
},
{text:"O rio português que desagua mais a Sul é:",
alternatives:["Tejo","Guadiana","Sado","Tua"],
correct:1
},
{text:"O ponto mais alto de Portugal fica:",
alternatives:["Serra do Caldeirão","Serra da Estrela","Serra da Peneda Gerês","Ilha do Pico"],
correct:3
},
{text:"O ponto mais ocidental de Portugal fica:",
alternatives:["Cabo da Roca","Sagres","Ilha do Corvo","Ilhéu de Monchique, perto da ilha das Flores"],
correct:3
},
{text:"A localidade mais a norte de Portugal fica:",
alternatives:["São Gregório","Santo Amaro de Oeiras","Caminha","Melgaço","Nenhuma das anteriores"],
correct:0
}
];

function buildQuestion(q,n) {
var html = "<HR>"+q.text;
for(var i = 0; i < q.alternatives.length; i++)
html += "<BR><INPUT TYPE='radio' name='q"+n+"' VALUE='"+i+"'>"+q.alternatives;
html += "<BR><INPUT TYPE='hidden' name='a"+n+"' VALUE='"+q.correct+"'>";
return html;
}

function buildQuiz() {
var quizElement = document.getElementById("quiz") ;
for(q in questions)
quizElement.innerHTML += buildQuestion(questions[q],q);
}

function validateAll(outField) {
var answers = [];
for(q in questions)
answers.push(eval("document.form1.q"+q));
outField.value = gradeResults(questions,answers);
}

HTML:

<HTML>
<HEAD>
<TITLE>Sample</TITLE>
<SCRIPT src="script.js"/>
</HEAD>

<BODY onLoad="buildQuiz();">
<H1>QUESTIONÁRIO</H1>
<FORM NAME="form1">
<BR>NOTA:<INPUT TYPE="text" NAME="output" READONLY VALUE="">
<div ID="quiz"/>
<INPUT TYPE="button" NAME="button1" VALUE="Verify" OnClick='validateAll(output);'>
<INPUT TYPE="reset">
</FORM>
</BODY>
</HTML>
 
Back
Topo