Jump to content


Photo

Problema Com Verificação De Dados (input)


  • Faça o login para participar
3 replies to this topic

#1 Aloha

Aloha

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 15/09/2008, 17:11

Olá boa tarde!

Sou beeem iniciante em programação, princiapalmente em JavaScript, mas quero aprender por que é uma linguagem que executa do lado do usuário, o que as vezes pode facilitar muuito, como neste caso meu...

O que ocore é o seguinte, quero fazer a verificação de email e senha em um sistema de cadastro aqui, com base em pesquisas do google e aqui no forum, consegui chegar à este código:
<script type="text/javascript">
<!--
function verifica() {
	var email = document.getElementById('email');
	var email_c = document.getElementById('email_confirma');
	var senha = document.getElementById('senha__');
	var senha_c = document.getElementById('senha_confirma__');
	
	if ( email != email_c ) {
	alert('Emails diferentes');
		return false;
	} 
	else if ( senha != senha_c ) {
		alert('Senhas diferentes');
		return false;
	}
	else {
		return true;
	}
}
//-->
</script>

E os campos e o botão:
<input type="text" name="email" id="email" />
<input type="text" name="email_confirma" id="email_confirma" />
<input type="password" name="senha__" id="senha__" />
<input type="password" name="senha_confirma__" id="senha_confirma__" />
<input type="submit" name="Submit" value="Cadastrar" class="submit-btn" onclick="verifica()" />


O que acontece é que sempre da o alert do email, e envia o form, independente dos dados certos ou errados...

Onde estou errando?


Amplexus.

Edição feita por: Aloha, 15/09/2008, 17:13.


#2 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 17/09/2008, 07:44

Está errando na chamada da função. Para validar formulários, a função deve ser chamada com um onsumit na tag <form>, e não com um onclick em um botão.
Teste usando onsubmit="return verifica()"
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#3 Aloha

Aloha

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 24/09/2008, 09:39

Opa...

Agora esta chamando certo :D

Mas sempre da o alerta: Emails diferentes

Ou seja, a função tem problemas também...


Abraços.

#4 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 24/09/2008, 10:55

Você está trabalhando com IDs e se referindo à campos de formulário... isso não é uma boa idéia.

O ideal é sempre se referir à formulários com document.forms['nome_form'].elements['nome_elemento'].

Além disso, nota que você só está apontando para o elemento, mas não para o value do elemento.

O que você quer é comparar valores, sendo assim deve usar value para resgatar.

Um exemplo correto de chamada, seria assim:

campo_tal = document.forms['nome_form'].elements['nome_elemento'].value;

Sacou?

Faz as devidas alterações com relação a isso e testa aí ;)
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq