嗨在那裏我試圖創建一個簡單的PHP電子郵件表單,而不需要頁面刷新使用jQuery .ajax()方法,但是我希望所有的字段重置一次電子郵件已發送,並且此時不會因某種原因發生!jQuery和PHP電子郵件表單不運行成功功能
這裏是我的jQuery:
$.ajax({
url:"http://www.mysite.co.uk/contactMe.php",
data: {'email': email,'content': content},
success: function(response){
$("#mailContent").css({ 'box-shadow': ''});
$("#email").css({'box-shadow': ''});
$("#email").val('');
$("#mailContent").val('');
alert("DONE");
return false;
}
})
,這裏是我的PHP
<?php
function spamcheck($field)
{
//filter_var() sanitizes the e-mail
//address using FILTER_SANITIZE_EMAIL
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
//filter_var() validates the e-mail
//address using FILTER_VALIDATE_EMAIL
if(filter_var($field, FILTER_VALIDATE_EMAIL))
{
return TRUE;
}
else
{
return FALSE;
}
}
$email = $_GET['email'];
$content = $_GET['content'];
$mailcheck = spamcheck($email);
if ($mailcheck==FALSE)
{
}
else
{//send email
mail("[email protected]", "Subject: Website Contact Form",
$content, "From: $email");
}
?>
請注意,我已經改變了URL地址和電子郵件地址的隱私,因爲我收到的電子郵件發送罰款它在我的收件箱中。我也嘗試使用相同的東西:
.ajax().done(function{})
並沒有這樣的運氣,最糟糕的是這個工作很好,我用它在另一個網站上時,我使用.ajax()來創建評論系統,但它拒絕在本網站上工作! :/
你的沮喪,西蒙。
編輯:形式:
<form name="contact"> Email: <input name="email" type="text" id="email" ><br>
Message:<br> <textarea name="message" rows="20" cols="246" id="mailContent"></textarea><br>
<input class="button" value=""> </form>
出於好奇,什麼瀏覽器你使用?如果你使用Firefox,你應該安裝Firebug並學習如何使用Network和Console標籤來調試AJAX請求和響應(F12)。如果您使用Chrome,則開發人員工具與內置的功能(也包含F12)相同。它會讓您的生活更輕鬆。 –
是你的網站在'localhost'上運行嗎?還是一個真正的域名? – Jakub
如果'success'沒有運行,這意味着請求沒有完成,無論是404還是500(或其他)。如果你不熟悉JS調試,你可以給我們一個鏈接到你的演示? – Snuffleupagus