Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Felipe Medeiros

validando um Formulário

Recommended Posts

Eai Gente, to comecando a aprender javascript agora e to com dificuldade pra aprender isso:

 

É uma pergunta com 5 apções. Só 1 ta certa. Quando eu escolho a resposta e cliquo no botão responder aparece uma mensagem abaixo informando se errei ou acertei. Mas o problema que qualquer opcao que escolho da errado. E eu não acho o erro de jeito nenhum.

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<div style="width: 60%;">
<p> As plantas apresentam uma série de tecidos, com diferentes origens e
 funções bem variadas. Um desses tecidos é responsável pelo transporte de
 seiva bruta pela planta. Esta estrutura recebe o nome de:</p>
 <form>
<input name="a" type="radio" value="xi" />xilema<br />
<input name="a" type="radio" value="pc" />Parênquima Cortical<br />
<input name="a" type="radio" value="fl" />floema<br />
<input name="a" type="radio" value="Co" />Colênquima<br />
<input name="a" type="radio" value="pa" />Parênquima Amílifero<br />
<br />
<button type="button" onclick="responder(a)">Responder</button>
</form>
<br />
<p id="resp"> </p>
<script> 
function responder(b){
var b;
    if(b === 'xi'){
document.getElementById("resp").innerHTML = "<b>" + "Parabéns, você Acertou!"+ "</b>";
}else{
document.getElementById("resp").innerHTML = "<b>" + "Que pena, Você Errou!" + "</b>";
}
}
</script>
</div>
</body>
</html>

A opção certa é a primeira: xilema

Compartilhar este post


Link para o post
Compartilhar em outros sites

É porque você só está retornando o input, dê um console.log no b:

function responder(b){

    console.log( b );

    // retorno: [input, input, input, input, input, value: "", item: function]

...

Você tem que colocar um:

function responder(b){

    b = b.value;

    ...

Ou então:

<button type="button" onclick="responder(a.value)">Responder</button>

Dica: Você poderia colocar ao invés da começo da palavra no value do input, colocar só números:

<input name="a" type="radio" value="1"> xilema <br>
<input name="a" type="radio" value="2"> Parênquima Cortical <br>
<input name="a" type="radio" value="3"> floema <br>

e no JS:

if(b === 1)
{
    document.getElementById("resp").innerHTML = "<b>" + "Parabéns, você Acertou!"+ "</b>";
}
else

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.