Enviando Email Utilizando JQuery Ajax sem Refresh
Estou tendo problemas tentando utilizar esse método de envio de formulário por email, sem dar refresh na página. Ainda não tenho muitos conhecimentos com Ajax, então não sei bem se o código está correto, até tentei por outros métodos, copiando e colando o código e só mudando algumas coisas pra ver se ia, mas não consegui. O problema é que ao clicar no botão de enviar, não ocorre nenhuma ação. A função não é chamada.
Código em js:
$(function($) {
$("#form1").submit(function() {
var nome = $("#nome").val();
var email = $("#email").val();
var mensagem = $("#mensagem").val();
$("#status").html("<img src='loader.gif'/>");
$.post('email.php', {nome: nome, email: email, mensagem: mensagem }, function(envia) {
$("#status").slideDown();
if (envia != false) {
$("#status").html(envia);
}
else {
$("#status").html("Mensagem enviada com sucesso!");
$("#nome").val("");
$("#email").val("");
$("#mensagem").val("");
}
});
});
});
Código PHP:
<?php
require_once("class/class.phpmailer.php");
date_default_timezone_set('America/Sao_Paulo');
$ip = getenv("REMOTE_ADDR");
$mail = new PHPMailer(true);
$mail->SetLanguage("br");
// $mail->IsSMTP();
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$nomeusuario = utf8_decode($_POST['nome']);
$emailusuario = utf8_decode($_POST['email']);
$mensagem = utf8_decode($_POST['mensagem']);
$mail->Host = 'email-ssl.com.br';
$mail->SMTPAuth = true;
$mail->Port = 465;
$mail->Username = '';
$mail->Password = '';
$mail->From = $emailusuario;
$mail->FromName = $nomeusuario;
$mail->AddAddress('', '');
$mail->Subject = "";
$mail->AddBcc($emailusuario);
$mail->Body = $mensagem;
if(!$mail->Send()) {
echo "Mensagem de erro: " . $mail->ErrorInfo;
} else {
echo "Mensagem enviada!";
}
?>
HTML:
<form id="form1" class="row" method="post" action="javascript:function()">
<input type="text" placeholder="Nome:" class="form-control" name="nome"/>
<input type="email" placeholder="E-mail:" class="form-control" name="email"/>
<textarea placeholder="Mensagem:" class="form-control" name="mensagem"></textarea>
<input type="submit" class="btn btn-default btn-link" name="submit">
</form>
Se, ao invés de usar o action, eu usar onsubmit, sou redirecionado ao seguinte erro anexado:

Discussão (11)
Carregando comentários...