Erro em validação do form
Ola pessoal.
O codigo abaixo estah com um problema de solucao invisivel pra mim.
Gostaria da ajuda de voces pra saber onde tah o erro.
O 1o codigo valida os campos do formulario
O 2o atraves de ajax, verifica se o usuario e senha sao validos pra enviar pra proxima pagina
O q acontece eh q o validador funciona bonitinho quando estao preenchidos os capos usuario e senha,
mas quando clicado no botao com os campos vazios, a validacao perde o efeito e eh enviado o form. E soh eh pra enviar caso o usuario nao tenha o javascript habilitado.
function validarForm() { // Valida o campo nome, ou seja, ele não pode ficar em branco if (gE('usuario').value == '' || gE('usuario').value == null) { alert('Informe um nome de usuário válido.');// Informa ao usuário o erro ocorrido usuario.focus();// Seta o focus no campo com erro return false;// Retorna false, para a outra saber que algo está errado e não liberar o cadastro } // Valida o DDD e em seguida o telefone if (gE('senha').value == '' || gE('senha').value == null) { alert('Digite a senha.'); senha.focus(); return false; } return true;}
function enviaForm() { // Se não houver os botões aborta a função if (!gE('logar')) return false; gE('logar').onclick = function() { // Valida os dados informado, a função retornará false se houver erro, e true se estiver tudo ok. var validacao = validarForm(); // Verifica o retorno da função if (validacao == true) { var usuario = "usuario="+gE('usuario').value; var senha = "&senha="+gE('senha').value; var ajax_ = "&ajax=1"; var dados = usuario+senha+ajax_; var carregando = gE('load');// A tag load conterá a informacao de verificacao dos dados var ajax = openAjax(); ajax.open('POST', 'login.php', true); ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); ajax.onreadystatechange = function() { if (ajax.readyState == 1) { carregando.innerHTML = 'Verificando usuário e senha... aguarde.';// mostra a tag load, com o valor 'Verificando dados...' } // if->readyState->1 if (ajax.readyState == 4) { if (ajax.status == 200) { // Atualiza o relatório com os contatos cadastrados var resultado = ajax.responseText;// o resultado da pesquisa fica armazenado na variavel resultado if (resultado.substr(0,gE('usuario').value.length) != gE('usuario').value)//verifica se o usuario existe; { carregando.innerHTML = '<a href="#">Esqueci minha senha</a>'; alert ('Usuario ou senha inválido.'); return false; } if (resultado.substr(gE('usuario').value.length) != gE('senha').value)//verifica se senhas sao iguais { carregando.innerHTML = '<a href="#">Esqueci minha senha</a>'; alert ('senha invalido.'); return false; } if (resultado.substr(gE('usuario').value.length) == gE('senha').value)//verifica se senhas sao iguais { carregando.innerHTML = '<a href="#">Esqueci minha senha</a>'; document.formLogin.submit();// se valores sao iguais, envia o formulario return false; } } // status ->200 } // readyState->4 } // ajax->onreadystatechange ajax.send(dados); } // validacao == true // Evita que o form seja enviado e dê o reload na página return false; }}
Valew!!!!
Discussão (2)
Carregando comentários...