Ir para conteúdo
Fórum CódigoFonte.net
Renato S. Pereira

Problema Formulário e-mail

Recommended Posts

Ola Pessoal, sou novo no fórum e estou terminando meu site, meu problema esta no envio de formulário

:

O formulário envia normalmente, apresentando uma mensagem de "ENVIADO COM SUCESSO" SEM PROBLEMAS

Problema "1" - Ao efetuo o click novamente no mesmo botão de envio, ele me apresenta diretamente a mensagem de "ENVIADO COM SUCESSO", deveria acessar o Formulário para um novo envio.

Problema "2" - Faço um uma atualização (F5) e ele não mais me apresenta o modal com a mensagem, e sim o formulário, porem com os campos do formulário já preenchidos, com os dados anteriores, segue o código;

Código do Formulário

<body>
<div id="wrapper">
<p>Envie</p>
<p><a class="modalbox" href="#inline">click to open</a></p>
</div>
<!-- hidden inline form -->
<div id="inline">
<h2>Envio sua Solicitação</h2>
<form id="contact" name="contact" action="#" method="post">
<label for="email">Digite seu E-mail</label>
<input type="email" id="email" name="email" class="txt">
<br>
<label for="nome">Digite seu Nome</label>
<input type="nome" id="nome" name="nome" class="txt">
<br>
<label for="msg">Mensagem</label>
<textarea id="msg" name="msg" class="txtarea"></textarea>
<button id="send">Enviar</button>
</form>
</div>
<!-- basic fancybox setup -->
<script type="text/javascript">
function validateEmail(email) {
var reg = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return reg.test(email);
}
$(document).ready(function() {
$(".modalbox").fancybox();
$("#contact").submit(function() { return false; });
$("#send").on("click", function(){
var emailval = $("#email").val();
var msgval = $("#msg").val();
var msglen = msgval.length;
var mailvalid = validateEmail(emailval);
if(mailvalid == false) {
$("#email").addClass("error");
}
else if(mailvalid == true){
$("#email").removeClass("error");
}
if(msglen < 4) {
$("#msg").addClass("error");
}
else if(msglen >= 4){
$("#msg").removeClass("error");
}
if(mailvalid == true && msglen >= 4) {
// if both validate we attempt to send the e-mail
// first we hide the submit btn so the user doesnt click twice
$("#send").replaceWith("<em>sending...</em>");
$.ajax({
type: 'POST',
url: 'sendmessage.php',
data: $("#contact").serialize(),
success: function(data) {
if(data == "true") {
$("#contact").fadeOut("fast", function(){
$(this).before("<p><strong>Sua Mensagem foi enviada com Sucesso, retornaremos em breve com sua Solicitação, Obrigado! :)</strong></p>");
setTimeout("$.fancybox.close()", 1000);
});
}
}
});
}
});
});
</script>
</body>

Código PHP

<?php

$sendto = "[email protected]";
$usermail = $_POST['email'];
$nome = $_POST['nome'];
$content = nl2br($_POST['msg']);
$subject = "Email de Contato RP Soluções";
$headers = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
$msg = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Nova Solicitação de Contato</h2>\r\n";
$msg .= "<p><strong>Enviado por :</strong> <br>".$usermail."</p>\r\n";
$msg .= "<p><strong>Nome:</strong> <br> ".$nome."</p>\r\n";
$msg .= "<p><strong>Mensagem:</strong> <br> ".$content."</p>\r\n";
$msg .= "</body></html>";
if(@mail($sendto, $subject, $msg, $headers)) {
echo "true";
} else {
echo "false";
}
?>

alguém por favor, poderia me ajudar, Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

A validação não esta funcionando. Tente o formulario do bootstrap

Obs: As classes form-horizontal e control-group são as classes de validação. O nome required seria o campo que tem que ser validado, senão escrever nada ele não valida.

<form class="form-horizontal" name="form1" action="valida_login.php" method="POST">
  <fieldset>
	<legend>Formulário de Cadastro</legend>
	<!-- Nome -->
		<div class="control-group">
 		   <label class="control-label">Login</label>
			  <div class="controls">
				<input id="nome" name="nome" type="text" PLACEHOLDER="Insira seu nome" required>
			  </div>
		</div>
	<!-- Senha -->
		<div class="control-group">
	 	   <label class="control-label">Senha</label>
			  <div class="controls">
				<input id="senha" name="senha" type="password" placeholder="Insira sua senha" required>
			  </div>
		</div>
</fieldset>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×