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

Erro sem BUG


Marianne

Pergunta

Olá Amigos mais uma vez

Fiz uma validação que esta me dando dor de cabeça por não apresentar Erros e apenas pára num determinado ponto

A validação consiste primeiro em verificar se os radio box estao vazios, caso estejam alertar

Ele valida tudo certinho quando se escolhe Pessoa Fisica (não entrando na validação na linha ENTRA SOMENTE JURIDICA)

ERRO: quando se escolhe Pessoal Juridica eu valido campos que não tem na pessoa Fisica, valida certinho porem não sai desta validação e continua validando os demais.. para de validar ai..

Entra neste Sub IF e não sai verificando os demais campos do Else.

não sei se fui clara.. Obrigada

<script language="javascript">

function Valida(){

flag = false;

{for (var i = 0; i < EnviaCadastro.tipo.length; i++)

if (EnviaCadastro.tipo.checked)

{

flag = true; break;

}

}

if (!flag){

alert("Escolha o tipo de compra");

return false;

}else if (document.getElementById("CNPJ").value == ""){

var tipocadastro = document.getElementById("tipocadastro").value;

alert("O campo "+tipocadastro+" é obrigatório");

document.getElementById("CNPJ").style.backgroundColor = "#FFFFCC";

document.getElementById("CNPJ").focus();

}else if (document.getElementById("tipocadastro").value == "CNPJ"){

//ENTRA AQUI SOMENTE SE FOR PESSOA JURIDICA E quando ENTRA não SAI MAIS ============================

if (document.getElementById("ie").value == ""){

alert("O campo Inscrição Estadual é obrigatório");

document.getElementById("ie").style.backgroundColor = "#FFFFCC";

document.getElementById("ie").focus();

}else if (document.getElementById("razao").value == ""){

alert("A Razão Social é obrigatório");

document.getElementById("razao").style.backgroundColor = "#FFFFCC";

document.getElementById("razao").focus();

}else if (document.getElementById("fantasia").value == ""){

alert("O Nome Fantasia é obrigatório");

document.getElementById("fantasia").style.backgroundColor = "#FFFFCC";

document.getElementById("fantasia").focus();

}

//PROBLEMA AQUI (NÃO SAI DESTE ELSE PRA VALIDAR O NOME ABAIXO, PARA A VERIFICAÇÃO)======

}else if (document.getElementById("nome").value == ""){

alert("O campo Nome é obrigatório");

document.getElementById("nome").focus();

document.getElementById("nome").style.backgroundColor = "#FFFFCC";

}else if (document.getElementById("ddd").value == ""){

alert("O campo DDD do Telefone é obrigatório");

document.getElementById("ddd").focus();

document.getElementById("ddd").style.backgroundColor = "#FFFFCC";

}else if (document.getElementById("telefone").value == ""){

alert("O Telefone é obrigatório");

document.getElementById("telefone").focus();

document.getElementById("telefone").style.backgroundColor = "#FFFFCC";

}else if (document.getElementById("email").value == ""){

alert("O E-mail digitado é inválido");

document.getElementById("email").focus();

document.getElementById("email").style.backgroundColor = "#FFFFCC";

}else{

document.EnviaCadastro.action = 'cadastro.asp';

document.EnviaCadastro.submit();

document.EnviaCadastro.Sub.disabled = true;

}

}

</script>

Não dá ERRO somente para de validar e fica sem ação

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

marianne, ele não vai entrar em dois else ifs do do mesmo if ne.

olha bem, ele passou por esse else if:

else if (document.getElementById("tipocadastro").value == "CNPJ"){
se ele entrar ai, ele nem testa o else if debaxo. você poderia fechar esse if antes do else if q checa o nome e abrir um novo if pra checar o nome. mas acho q o melhor seria, em vez de fazer varios else if, q você fizesse simplesmente varios ifs e, pra não passar nos ifs debaxo em caso de erro no preenchimento, q você pusesse uns return pra sair da funcao. exemplo, você podia dexar o codigo assim:
if (!flag){
            alert("Escolha o tipo de compra");
            return false;
        }
                if (document.getElementById("CNPJ").value == ""){
            var tipocadastro = document.getElementById("tipocadastro").value;
            alert("O campo "+tipocadastro+" é obrigatório");
            document.getElementById("CNPJ").style.backgroundColor = "#FFFFCC";
            document.getElementById("CNPJ").focus();
                        return false;
        }
                if (document.getElementById("tipocadastro").value == "CNPJ"){        
                if (document.getElementById("ie").value == ""){
                    alert("O campo Inscrição Estadual é obrigatório");
                    document.getElementById("ie").style.backgroundColor = "#FFFFCC";
                    document.getElementById("ie").focus();
                                        return false;
                }
                                if (document.getElementById("razao").value == ""){
                    alert("A Razão Social é obrigatório");
                    document.getElementById("razao").style.backgroundColor = "#FFFFCC";
                    document.getElementById("razao").focus();
                                        return false;
                }
                                if (document.getElementById("fantasia").value == ""){
                    alert("O Nome Fantasia é obrigatório");
                    document.getElementById("fantasia").style.backgroundColor = "#FFFFCC";
                    document.getElementById("fantasia").focus();
                                        return false;
                }[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

Quem sabe sabe :D

Obrigada !!!!!!! Beijos

marianne, ele não vai entrar em dois else ifs do do mesmo if ne.

olha bem, ele passou por esse else if:

else if (document.getElementById("tipocadastro").value == "CNPJ"){
se ele entrar ai, ele nem testa o else if debaxo. você poderia fechar esse if antes do else if q checa o nome e abrir um novo if pra checar o nome. mas acho q o melhor seria, em vez de fazer varios else if, q você fizesse simplesmente varios ifs e, pra não passar nos ifs debaxo em caso de erro no preenchimento, q você pusesse uns return pra sair da funcao. exemplo, você podia dexar o codigo assim:
if (!flag){
            alert("Escolha o tipo de compra");
            return false;
        }
                if (document.getElementById("CNPJ").value == ""){
            var tipocadastro = document.getElementById("tipocadastro").value;
            alert("O campo "+tipocadastro+" é obrigatório");
            document.getElementById("CNPJ").style.backgroundColor = "#FFFFCC";
            document.getElementById("CNPJ").focus();
                        return false;
        }
                if (document.getElementById("tipocadastro").value == "CNPJ"){        
                if (document.getElementById("ie").value == ""){
                    alert("O campo Inscrição Estadual é obrigatório");
                    document.getElementById("ie").style.backgroundColor = "#FFFFCC";
                    document.getElementById("ie").focus();
                                        return false;
                }
                                if (document.getElementById("razao").value == ""){
                    alert("A Razão Social é obrigatório");
                    document.getElementById("razao").style.backgroundColor = "#FFFFCC";
                    document.getElementById("razao").focus();
                                        return false;
                }
                                if (document.getElementById("fantasia").value == ""){
                    alert("O Nome Fantasia é obrigatório");
                    document.getElementById("fantasia").style.backgroundColor = "#FFFFCC";
                    document.getElementById("fantasia").focus();
                                        return false;
                }

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...