Ir para conteúdo

POWERED BY:

Arquivado

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

Jackson Junior

Erro em validação do form

Recommended Posts

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!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

[RESOLVIDO]

 

O problema estava na variavel usuario.focus e senha.focus do validador do form, ela nao existia, pois tinha apagado. :):):):)

var usuario = gE('usuario');

var senha = gE('senha');

 

Micox, se você xegou ateh aqui, obrigado pela atencao.

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.