Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Os alertas não estão funcinoando direito, as vezes acerto a questão e ele indica que eu errei e vice e versa... .

<!DOCUMENTTYPE html>

<html>
    <head>
    <meta charset="utf-8">
    <title>Quiz de Biologia</title>
    </head>
    <body>
    Texto questão 1<br/></br>
    1-Resposta</br>
    2-Resposta</br>
    3-Resposta</br>
    4-Resposta</br>
    </br>Coloque o número da única alternativa correta abaixo:</br></br>
    <input type = "text" id="textoquestao1"/>
    <input type = "submit" id="botaoquestao1" value = "Responder"/><br/></br></br>
    Texto questão 2<br/></br>
    10-Resposta</br>
    20-Resposta</br>
    30-Resposta</br>
    40-Resposta</br>
    </br>Coloque o número da única alternativa correta abaixo:</br></br>
    <input type = "text" id="textoquestao2"/>
    <input type = "submit" id="botaoquestao2" value = "Responder"/><br/></br></br>
    Texto questão 3<br/></br>
    100-Resposta</br>
    200-Resposta</br>
    300-Resposta</br>
    400-Resposta</br>
    </br>Coloque o número da única alternativa correta abaixo:</br></br>
    <input type = "text" id="textoquestao3"/>
    <input type = "submit" id="botaoquestao3" value = "Responder"/><br/>
    </body>
</html>

<script>
var digita = function(frase){
    document.write(frase + "<br>");
    }

var ativatexto1 = document.getElementById("textoquestao1");
var ativatexto2 = document.getElementById("textoquestao2");
var ativatexto3 = document.getElementById("textoquestao3");
var ativabotao1 = document.getElementById("botaoquestao1");
var ativabotao2 = document.getElementById("botaoquestao2");
var ativabotao3 = document.getElementById("botaoquestao3");

var gabarito = [1,30,400];    
var acerto = false    

var funcionabotao1 = function(){    
    for (x = 0; x < gabarito.length; x =  x + 1){

            if(gabarito[x] == ativatexto1.value){
            acerto = true;
            break;
            }
    }        
            if(acerto == true){
            alert("Acertou!!!");
            }else{
            alert("Você errou =(");
            }
}    


var funcionabotao2 = function(){    
    for (x = 0; x < gabarito.length; x =  x + 1){

            if(gabarito[x] == ativatexto2.value){
            acerto = true;
            break;
            }
    }        
            if(acerto == true){
            alert("Acertou!!!");
            }else{
            alert("Você errou =(");
            }
}
var funcionabotao3 = function(){    
    for (x = 0; x < gabarito.length; x =  x + 1){

            if(gabarito[x] == ativatexto3.value){
            acerto = true;
            break;
            }
    }        
            if(acerto == true){
            alert("Acertou!!!");
            }else{

            alert("Você errou =(");
            }
}


ativabotao1.onclick = funcionabotao1;
ativabotao2.onclick = funcionabotao2;
ativabotao3.onclick = funcionabotao3;
</script>
1 resposta
solução!

Olá Gabriel tudo bem?

Então, o erro está na declaração da variável (var acerto = false;) em escopo global, pois, o JavaScript executa apenas uma vez e atribui apenas uma vez esta variável como false na execução,

Quando atribuimos (true) na função logo que acertamos pela primeira vez não temos o retorno para que a variável (acerto) se torne (false) novamente, então sem este retorno ela sempre irá entrar no acertou! por sempre ser (true),

O que devemos fazer para resolver? atribuir este valor (false) a variável (acerto) na execução de nossa função, assim temos a garantia de que sempre iniciamos a função com a variável no valor (false) como segue,

<!DOCUMENTTYPE html>

<html>
    <head>
    <meta charset="utf-8">
    <title>Quiz de Biologia</title>
    </head>
    <body>
    Texto questão 1<br/></br>
    1-Resposta</br>
    2-Resposta</br>
    3-Resposta</br>
    4-Resposta</br>
    </br>Coloque o número da única alternativa correta abaixo:</br></br>
    <input type = "text" id="textoquestao1"/>
    <input type = "submit" id="botaoquestao1" value = "Responder"/><br/></br></br>
    Texto questão 2<br/></br>
    10-Resposta</br>
    20-Resposta</br>
    30-Resposta</br>
    40-Resposta</br>
    </br>Coloque o número da única alternativa correta abaixo:</br></br>
    <input type = "text" id="textoquestao2"/>
    <input type = "submit" id="botaoquestao2" value = "Responder"/><br/></br></br>
    Texto questão 3<br/></br>
    100-Resposta</br>
    200-Resposta</br>
    300-Resposta</br>
    400-Resposta</br>
    </br>Coloque o número da única alternativa correta abaixo:</br></br>
    <input type = "text" id="textoquestao3"/>
    <input type = "submit" id="botaoquestao3" value = "Responder"/><br/>
    </body>
</html>

<script>
var digita = function(frase){
    document.write(frase + "<br>");
    }

var ativatexto1 = document.getElementById("textoquestao1");
var ativatexto2 = document.getElementById("textoquestao2");
var ativatexto3 = document.getElementById("textoquestao3");
var ativabotao1 = document.getElementById("botaoquestao1");
var ativabotao2 = document.getElementById("botaoquestao2");
var ativabotao3 = document.getElementById("botaoquestao3");

var gabarito = [1,30,400];
var acerto;

var funcionabotao1 = function(){
    acerto = false;
    for (x = 0; x < gabarito.length; x =  x + 1){

            if(gabarito[x] == ativatexto1.value){
            acerto = true;
            break;
            }
    }
            if(acerto == true){
            alert("Acertou!!!");
            }else{
            alert("Você errou =(");
            }
}


var funcionabotao2 = function(){
    acerto = false;
    for (x = 0; x < gabarito.length; x =  x + 1){

            if(gabarito[x] == ativatexto2.value){
            acerto = true;
            break;
            }
    }
            if(acerto == true){
            alert("Acertou!!!");
            }else{
            alert("Você errou =(");
            }
}
var funcionabotao3 = function(){
    acerto = false;
    for (x = 0; x < gabarito.length; x =  x + 1){

            if(gabarito[x] == ativatexto3.value){
            acerto = true;
            break;
            }
    }
            if(acerto == true){
            alert("Acertou!!!");
            }else{

            alert("Você errou =(");
            }
}


ativabotao1.onclick = funcionabotao1;
ativabotao2.onclick = funcionabotao2;
ativabotao3.onclick = funcionabotao3;
</script>

Espero ter ajudado e bons estudos,

Atenciosamente,