Ir para conteúdo
Fórum Script Brasil
  • 0

Validação de inputs dentro de um loop


R_MontSerrat

Pergunta

Boa tarde, estou com dificuldade em fazer a validação dos campos dentro de um loop de repetição, da maneira que estou fazendo só é validado o primeiro campo

Segue o código

loop:

window.onload = function () {
        document.getElementById("acompanhante").onchange = function () {
        var numero, indice, teste;
        indice = document.getElementById("acompanhante").selectedIndex;
        teste = document.getElementById("acompanhante").options[indice].value;
        if (teste==-1 || teste==0){
        document.getElementById("o").innerHTML = "";
        }
        else{
        document.getElementById("o").innerHTML = "Por favor, digite o nome de cada um";
        }
        for (numero=0; numero<teste; numero++){
        document.getElementById("o").innerHTML +=  "<input name='nome[]' type='text' id='nome_acompanhante' placeholder='Nome do acompanhante' class='input'>" + "<br>";
        }
    }
}
Validação
if(document.getElementById("nome_acompanhante").value==""){
            document.form2.("nome_acompanhante").className="input3";
            return false;
            }

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tipo, estou me perguntando pra que voce usou

for (numero=0; numero<teste; numero++){

document.getElementById("o").innerHTML += "<input name='nome[]' type='text' id='nome_acompanhante' placeholder='Nome do acompanhante' class='input'>" + "<br>";

}

Quando voce usa id="nome_acompanhante" lembre-se que não pode haver 2 ou + objetos com o mesmo ID.

Logo eu sugiro voce usar name, no lugar do id, e ficaria assim:

for (numero=0; numero<teste; numero++){
        document.getElementById("o").innerHTML +=  "<input name='nome[]' type='text' name='nome_acompanhante' placeholder='Nome do acompanhante' class='input'>" + "<br>";
}
// Validação
for (i = 0; i < document.getElementsByName("nome_acompanhante").length; i += 1) {
    if (document.getElementsByName("nome_acompanhante").item(i).value === "") {
        document.getElementsByName("nome_acompanhante").item(i).className = "input3";
    }
}

Se tiver mais algum problema, manda ai, eu não posso testar, por que não tenho seu html e tal...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...