我的網站上的表單是一個簡單的聯繫表單。 我會等形式顯示在發送的形式在同一頁上「成功&失敗」消息/失敗,沒有重新加載頁面。我明白我應該使用Ajax來做到這一點,但我無法使它工作。它一直說失敗,但形式發送,並在我的收件箱。Ajax表單成功和失敗消息不起作用
這是我正在使用的代碼。
HTML(單頁設計):
<form accept-charset="UTF-8" action="" class="form" id="contactus" method="post" name="contactus">
<label for="nametag">Namn*</label> <input id="name" name="name" type="text" value="">
<label for="emailtag">Email*</label> <input id="email" name="email" type="text" value="">
<label for="phonetag">Telefon</label> <input id="phone" name="phone" type="text" value="">
<label for="messagetag">Meddelande*</label><br>
<textarea id="message" name="message" style="width: 87%; height: 200px;"></textarea>
<label class="placeholder"> </label> <button class="submit" name="submit">Skicka</button>
</form>
<script>
$(function() {
$('#contactus').submit(function (event) {
event.preventDefault();
event.returnValue = false;
$.ajax({
type: 'POST',
url: 'php/mail.php',
data: $('#contactus').serialize(),
success: function(res) {alert(res);
if (res == 'successful') {
$('#status').html('Sent').slideDown();
}
else {
$('#status').html('Failed').slideDown();
}
},
error: function() {
$('#status').html('Failed').slideDown();
}
});
});
});
</script>
PHP的:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$recipient = "[email protected]";
$subject = "Webbkontakt";
$formcontent = "Från: $name <br/> Email: $email <br/> Telefon: $phone <br/> Meddelande: $message";
$headers = "From: " ."<[email protected]>" . "\r\n";
$headers .= "Reply-To: ". "[email protected]" . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n";
if(mail($recipient, $subject, $formcontent, $headers))
{
echo "successful";
}
else
{
echo "error";
}
?>
什麼是從服務器的AJAX調用的響應? – David
對不起,作爲noob,但我該如何檢查?我對此很陌生。 – user2566091
'alert(res)'顯示什麼? –