Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Formulário de contato sem refresh via jquery

$
0
0

Ae pessoal.

Estou tentando fazer um formulário simples de contato, mas ele deve mandar sem dar reload na página, então pesquisando na web achei vários exemplos em jquery, muito parecidos uns dos outros.

Acabou que o que eu precisava só encontrei funcionando 100% em um exemplo que era pra salvar os dados de contato do cliente num db, então modifiquei para no php em vez de mandar pro server fiz um php de envio de emails, mas apesar de não dar refresh na pagina ele não funciona.

 

Códigos:

formulário na index.html (coloquei o js em cima pra saber q to chamando ele e jquery na index)

 <head><script src="js/refreshform.js"></script></head>
 <form method="post" name="form" id="form">
 <p><input name="name" type="text" id="name" placeholder="Nome"></p>
 <p><input name="email" type="text" id="email" placeholder="Email de retorno"></p>
 <p><input name"fone" type="text" id="fone" placeholder="Telefone de retorno"></p>
 <p><input name="subject" type="text" id="subject" placeholder="Assunto"></p> 
 <p><textarea name="msg" id="msg" placeholder="Sua mensagem"></textarea></p>
 <input type="submit" class="mainBtn" id="submit" value="Enviar">
 </form>
 </div> 

refreshform.js

$(document).ready(function() {
$("#submit").click(function() {
var name = $("#name").val();
var email = $("#email").val();
var subject = $("#subject").val();
var fone = $("#fone").val();
var msg = $("#msg").val();
if (name == '' || email == '' || subject == '' || msg == '' || fone == '') {
alert("Complete totalmente o formulário!");
} else {
// Retorna mensagem do PHP quando envia
$.post("refreshform.php", {
name1: name,
email1: email,
msg1: msg,
fone1: fone,
subject1: subject

}, function(data) {
alert(data);
$('#form')[0].reset(); // Limpar campos
});
}
});
});

e o php refreshform

<?php
    $name = name1;
    $email = email1;
    $message = msg1;
    $fone = fone1;
    $to = 'teste@testezoom.com.br'; 
    $subject2 = subject1;
    $from = "$name <$email>"
    $subject = "[SITE] $subject2"
    $body = "Cliente: $name\n E-Mail: $email\n Telefone: $fone\n Mensagem:\n $message";
	
    if ($_POST['submit']) {				 
        if (mail ($to, $subject, $body, $from)) { 
		mail($to, $subject, $body, $from);
	    echo "Mensagem enviada";
	} else { 
	    echo "Algo deu errado, tente novamente"; 
	} 
    } 
?>

Eu simplismente não entendo porque ele não está enviando, ele não dá nem mensagem de erro.

Agradeço desde já a ajuda!


Viewing all articles
Browse latest Browse all 14190