Witam!
Napisałem prosty skrypt formularza i chciałbym go wzbogacić efektami po stronie klienta. Po wykonaniu tego kodu funkcja "success: function(data)" nie działa... tzn plik php wykonuje się osobno i wynik zwraca na nowej czystej stronie, a mail dociera w formie takiej w jakiej dotrzeć powinien. Wyświetlenie diva wiadomości o poprawnym wysłaniu po prostu nie działa, a strona jak za starych dobrych lat chce wyświetlać w nowym oknie wiadomość o wysłaniu.
Sprawdzałem przeróżne formy zakończenia formularza ale nie mam pojęcia co dalej moge zrobić...
Pomocy! (IMG:
style_emoticons/default/wink.gif) ))
<?php
$Name = $_POST['name'];
$SenderEmail = $_POST['email'];
$SenderPhone = $_POST['phone'];
$MailContent = $_POST['message'];
$TargetEmail = "mail@mail.pl";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers = 'Content-type: text/html; charset=utf-8' . "\r\n";
$Od = "=?UTF-8?Q?".$Name."?=";
$headers .= "From: " . $Od . " <" . $SenderEmail . ">\r\n";
$MailMessage = '
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Wiadomość z formularza na stronie storkart.pl</title>
<style type="text/css">
p {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
</style>
</head>
<body>
<p><img src="" alt="" /></p><br /><br />
<hr><br /><br />
<p>'. $MailContent .'</p><br /><br />
<p><b>Wiadomość od:</b> '.$Name.'<br />
<b>Adres zwrotny:</b> '.$SenderEmail.'<br />
<b>Telefon zwrotny:</b> '.$SenderPhone.'</p>
</body>
</html>';
// wysyłamy wiadomość e-mail
if( @mail( $TargetEmail, "Wiadomość z formularza na stronie mail.pl", $MailMessage, $headers ) ) { $content = 1;
}
else
{
$content = 0;
}
// i tutaj w klauzuli success w funkcji $.ajax() powinno pójść info o poprawnym wykonaniu kodu...
?>
skrypt front-end
//form
var inputs
= new Array();
inputs["name"] = "imię, nazwisko";
inputs["email"] = "e-mail";
inputs["phone"] = "numer telefonu";
inputs["message"] = "treść wiadomości";
$("#name,#email,#phone,#message").focus(function()
{
if(
$(this).val()==inputs[$(this).attr("id")])
$(this).val("");
}).blur(function()
{
if($(this).val()=="")
$(this).val(inputs[$(this).attr("id")]);
});
$("#submit").click(function()
{
name = $("#name").val();
email = $("#email").val();
phone = $("#phone").val();
message = $("#message").val();
var mail_match =/^[^@]+@[^@]+.[a-z]{2,}$/;
if((email.search(mail_match) == -1))
{
alert("Proszę podać poprawny adres e-mail");
return false;
}
else
{
$(".ajax_loader").slideDown();
$.ajax({
url: "/send.php",
type: "POST",
dataType:"json",
data:
{
name: name,
email: email,
phone: phone,
message: message
},
success: function(data)
{
if(data == 1)
{
alert('poszło!');
// $(".contact_ajax_result").slideDown();
}
else
{
alert("Wstąpił błąd podczas wysyłania wiadomośc. Proszę spróbować ponownie.");
}
}
});
$(".ajax_loader").slideUp();
}
});
//end form
no i formularzyk pomijając css'y:
<form action="send.php" method="post" class="foot-form">
<input name="name" id="name" type="text" value="imię, nazwisko" /> <input name="email" id="email" type="text" value="e-mail" /> <input name="phone" id="phone" type="text" value="numer telefonu" /> <textarea name="message" id="message" cols="5" rows="5" >treść wiadomości
</textarea> <input type="image" name="submit" id="submit" src="images/wyslijbtn.png" alt="Wyślij" />