Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel T.

[Resolvido] Onde está o erro?

Recommended Posts

Bom pessoal, estou tentando validar um pequeno form, que contém somente 2 inputs, 1 e-mail e outro CAPTCHA.

Não sei onde está o erro, mas quando eu incluo o submit, ele faz reload na página...

 

script:

<script type="text/javascript">
$(function(){
$("#esquecidados").validate({
rules: {
	email: {
		required: true,
		email: true,
		remote: "funcao_verificar_email.php"
	},
	captcha4: {
		required: true,
		remote: "captcha4/process.php"
	}
},
messages: {
	email: {
		required: '<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Insira seu e-mail.</em>',
		email: '<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Informe um endereço de e-mail válido.</em>',
		remote: '<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">E-mail não encontrado.</em>'
	},
	captcha4: {
		required: '<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Insira o código de segurança.</em>',
		remote: '<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Código inválido.</em>'
	}
}
submitHandler function(form){
	var dados = $("#esquecidados").serialize();
	$.ajax( {
		type: "POST",
		url: "funcao_solicitar_senha.php",
		data: "do=cadastrar&"+decodeURIComponent(dados),
		beforeSend: function() {
		$("$textorecuperacao").fadeOut(400);
		$("$formularioae").fadeOut(400, function(){
			$("#retornoesqueci").fadeIn(400).slideDown(200);
			$("#retornoesqueci").html('<div class="infoe"><em>Aguarde, por favor...</em></div>');
		});
		},
		success: function() {
			$("#retornoesqueci").html('<div class="successe"><em>A mensagem foi enviada com sucesso para o seguinte e-mail</em></div>');
		},
		error: function() {
			alert('Erro no ajax');
		}
	});
}
});
});
</script>

 

form:

<!-- Conteúdo Modal -->
<div id="osx-modal-content">
<div id="osx-modal-title">Dados Nosso Espaço</div>
<div class="close"><a href="#" class="simplemodal-close" style="background:#ddd;">[X]</a></div>
<div id="osx-modal-data" style="background:#eee">
<div id="retornoesqueci"></div>
<div id="textorecuperacao">
<h2>Recuperação dos dados Nosso Espaço</h2>
<p>Para recuperar sua senha do Nosso Espaço, digite seu e-mail registrado abaixo e clique no botão "Enviar".</p>
</div>
<div id="formularioae">
<form id="esquecidados" style="width:100px;" name="esquecidados" method="post">
<ol>
<li>
<label for="email"><em style="color:#000000">E-mail</em></label><br />
<input class="texto" type="text" name="email" id="email" />
</li>
<li>
<div id="captchaimage">
<label for="captcha4"><em style="color:#000000">Insira os caracteres da imagem abaixo.</em></label>
<input type="text" class="texto" maxlength="6" name="captcha4" id="captcha4" />
<img src="captcha4/images/image.php?<?php echo time(); ?>" style="border-width:1px; border-style:solid; border-color:#999999; margin-top:5px;" width="132" height="46" alt="Código CAPTCHA" />
</div>
</li>
<li>
<input type="image" src="images/enviarmodal.jpg" name="submit" id="submit" value="Enviar" style="margin-top:5px;" />
</li>
</ol>
</div>
<p style="width:400px; color:#424242;">(Pressione o botão X acima ou pressione a tecla ESC para sair.)</p>
</form>
<br />
</div>
</div>
<!-- Fim Modal -->]

 

eu utilizo esse formulário dentro de uma modalbox.

Após eu incluir o ajax, ficou ocorrendo o erro...

 

funcao_solicitar_senha.php

<?php
    include "conexao.php";

    $email = $_POST['email'];
 $linguagem = "Content-type: text/html\n";
 $linguagem .= "From: Home Produtos <suporte@homeprodutos.com>\n";
 $linguagem .= "Return-Path: <suporte@homeprodutos.com>\n";
 $assuntoform = "Dados do Cadastro Nosso Espaço";

    $sql = mysql_query("SELECT * FROM usuarios WHERE email='$email'");
    $verifica = mysql_num_rows($sql);

    while($listar=mysql_fetch_array($sql)){

                  $nome = $listar['nome'];
                  $senhaq = $listar['senha'];
			   $emaiil = $listar['email'];
			   $chave = $listar['chave'];

    }

$msg = "
  	<html>
		<head>
			<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
		</head>
			<body>
		  <img src='http://www.homeprodutos.com.br/images/logo.png' />
		  	<p><br /><br />
		  	Olá, $nome.<br />
		  	<br /><br />
			Abaixo estão todos os dados da sua conta.
			<br /><br />
			</p>
			<fieldset>
			<legend>Dados da conta Nosso Espaço</legend>
			<table width=\"300\" border=\"0\" align=\"left\" cellpadding=\"2\" cellspacing=\"2\">
 <tr>
   <td width=\"160\"><strong>Nome Completo</strong></td>
   <td width=\"230\"><em>$nome $sobrenome</em></td>
 </tr>
 <tr>
   <td><strong>E-mail</strong></td>
   <td><em>$emaiil</em></td>
 </tr>
 <tr>
   <td><strong>ID</strong></td>
   <td><em>$chave</em></td>
 </tr>
 <tr>
   <td><strong>Senha</strong></td>
   <td><em>$senhaq</em></td>
 </tr>
</table>
</fieldset>
<p>
<br /><br />
$nome, por questões de segurança, todos os dados incluídos no cadastro não foram enviados para a visualização. Caso queira visualizar os dados de cadastro, faça login no Nosso Espaço e visualize seus dados no painel.
<br />
Caso haja alguma dúvida, não hesite em nos questionar. Estaremos à disposição à qualquer momento.
<br /><br />
Atenciosamente,<br />
Equipe <a href='http://www.homeprodutos.com'> Home Produtos </a>
</p>
</body>
</html>";

mail("$email", "$assuntoform", "$msg", "$linguagem");

?>

 

Estou tentando arrumar isso faz um tempão...

Alguém pode me ajudar?

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no final do metodo:

submitHandler function(form){

 

coloque um

return false;

assim o comportamento default do html não será seguido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa...

Obrigado pela resposta amigo, mas ainda não deu certo.

Fiz algumas modificações, mas ainda não deu certo:

 

<script type="text/javascript">
$(document).ready(function() {
$("#esquecidados").validate({
rules: {
	emailz: {
		required: true,
		email: true,
		remote: "funcao_verificar_email.php"
	},
	captcha4: {
		required: true,
		remote: "captcha4/process.php"
	}
},
messages: {
	emailz: {
		required: "<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Insira seu e-mail.</em>",
		email: "<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Informe um endereço de e-mail válido.</em>",
		remote: "<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">E-mail não encontrado.</em>"
	},
	captcha4: {
		required: "<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Insira o código de segurança.</em>",
		remote: "<img style=\"margin-right:5px; margin-top: 1px;\" src=\"images/error.gif\"/><em style=\"color:#FF0000; background-color:#EEEEEE;\">Código inválido.</em>"
	}
},
submitHandler function(form){
	var dados = $("#esquecidados").serialize();
		$.ajax( {
			type: "POST",
			url: "funcao_solicitar_senha.php",
			beforeSend: function(){
				$("$textorecuperacao").fadeOut(400);
				$("$formularioae").fadeOut(400, function(){
					$("#retornoesqueci").fadeIn(400).slideDown(200);
					$("#retornoesqueci").html('<div class="infoe"><em>Aguarde, por favor...</em></div>');
				});
			},
			success: function(){
				$("#retornoesqueci").html('<div class="successe"><em>A mensagem foi enviada com sucesso para o seguinte e-mail</em></div>');
			},
			error: function(){
				$("#retornoesqueci").html('<div class="errore"><em>Houve um erro ao enviar sua solicitação. Por favor, tente novamente.</em></div>');
			}
		});
	return false;
}<!-- Fecha submitHandler -->
});
});
</script>

 

O que poderia ser?

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não notei nada a mais de anormal.

 

aperta Ctrl + Shif + J(no FireFox), execute a página, e arrume os erros que aparecer

Compartilhar este post


Link para o post
Compartilhar em outros sites

É impressionante como um mínimo detalhe pode atrapalhar todo o seu projeto :mellow:

Faltou um ":" no submitHandler :lol:

Muito obrigado pela dica William.

Abraços.

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.