Ir para conteúdo

POWERED BY:

Arquivado

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

Jhoice

Checar valor dos inputs com array

Recommended Posts

Olá!

Estou tentando fazer uma atividade para crianças (tipo 1+1=2) e estou usando inputs para as respostas dos alunos e fiz uma array com os resultados corretos... Até aí tdo bem... O problema é que não consigo fazer com que os alerts "Tente novamente" e "Parabéns" apareçam só uma vez e na hora correta.

Segue o código para vcs terem uma noção:

 

function validacao() {
 
var respostas = document.getElementsByTagName("input")
var corretas = [1,2,3,5,7,9,10,12];
 
for (i=0; i<respostas.length; i++) {
if (parseInt(respostas.value) != corretas) {
respostas.value = "";
if(i==7) {
alert("Tente novamente!");
}
}
else {
alert("Parabéns");
}
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada pela ajuda Vinícius, mas continua com o mesmo erro ainda... Se existe um campo correto ele ainda mostra "parabéns" e depois o "tente novamente".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando elas estão erradas elas apagam. Notei também que quando o último resultado está correto ele não mostra o alert "Tente novamente".

Compartilhar este post


Link para o post
Compartilhar em outros sites

tudo bem.

a variável var respostas

 


var respostas = document.getElementsByTagName("input")

faltou um ponto e virgula no seu code.

 

mas de qualquer forma quero saber o que vem pra essa variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu notei também que estava faltando o ponto e vírgula hehe

Essa variável pega os valores digitados pelo usuário nos inputs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu testei a mesma variável dentro do loop e ela está pegando os valores corretamente....

vou quebrar a cabeça mais um pouquinho...

Obrigada pela ajuda mesmo assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na linha:

 

 

var respostas = document.getElementsByTagName("input")

 

Além de colocar o ponto e virgula você precisa colocar um ".value" depois de "document.getElementsByTagName("input")".

Espero ter ajudado!

Diogo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

Pensei num exemplo bem humilde, veja se ajuda na idéia:

Demo online - http://angelorubin.besaba.com/ChecarInputsComArray/checar.php

CSS

 

* {
    margin:5px;
    padding:5px;
}

 


JS

 

function validacao(idInput) {
    
    var respostas = document.getElementById(idInput).value;
    
    var corretas = [5];
 
    for (i = 0; i < corretas.length; i++) {
        if (respostas != corretas) {
            alert("Tente novamente!");
        }
        else {
            alert("Parabéns");
        }
    }
}

 



XHTML

 

<h3>Qual o valor correto do cálculo abaixo?</h3>
<p>2 + 3</p>
<label>Insira sua reposta aqui</label>
<input name="um" id="um" type="number"/>
<br/>
<button type="button" onClick="validacao('um')" name="enviar">Verificar Resposta</button>

 



Espero que ajude.

 

 

Melhorei um pouco o negocio:

 

 

 

JS

function validacao(idInput) {
	
	var respostas = document.getElementById(idInput).value;
	
	var respostas_corretas = [5,7];
	
	var tamanho = respostas_corretas.length;
 
	for (i = 0; i < tamanho; i++) {
		if(respostas != respostas_corretas[i]) {
			var zero = 0;
		}
		if (respostas == respostas_corretas[i]){
			var um = 1;
		}
	}
	if(um === 1){
		alert("Resposta correta, Parabéns !");
	}
	else if (zero === 0) {
		alert("Resposta incorreta, tente novamente!");
	}
}

XHTML

<h3>Qual o valor correto do cálculo abaixo?</h3>
<p>2 + 3 = ?</p>
<label>Insira sua reposta aqui</label>
<input name="um" id="um" type="number"/>
<br/>
<button type="button" onClick="validacao('um')" name="enviar">Verificar Resposta</button>

<h3>Complete o próximo número da sequência abaixo corretamente</h3>
<p>1,3,5,?</p>
<label>Insira sua reposta aqui</label>
<input name="dois" id="dois" type="number"/>
<br/>
<button type="button" onClick="validacao('dois')" name="enviar">Verificar Resposta</button>

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada pela ajuda de todos, me inspirei na solução do angelorubin e consegui resolver o problema.
Meu documento JavaScript ficou assim:

 

 
function validacao() {
var valida = new Array();
var respostas = document.getElementsByTagName("input");
var corretas = [1,2,3,5,7,9,10,12];

for (i=0; i<respostas.length; i++) {

if (parseInt(respostas.value) != corretas) {
respostas.value = "";
valida.push(false);

}
else {
valida.push(true);
}

}
if(valida.every(Boolean)) {
alert("Parabéns!");
}
else {
alert("Tente novamente!");
}

}

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.