私のウェブサイトには見栄えの良いスライドアップ/スライドダウン jquery フォームがあります。データを同じファイルに送信して、電子メールを送信します。これはうまくいきます:
$(document).ready(function(){
$('div.contact a.submit').click(function() {
var name = $('div.contact input.name').val();
var email = $('div.contact input.email').val();
var message = $('div.contact textarea.message').val();
$('div.contact').slideUp('slow', function() {
$.ajax({
type: "POST",
url: "test.php",
data: "name=" + name + "&email=" + email + "&message=" + message,
success: function(msg)
{
$('div.contact').html('<h1>Contact</h1><div class="comment">Success!</div><div class="clear"></div><p class="indent">Thank you, we will be in contact shortly.</p>');
$('div.contact').slideDown('slow');
}//end of success
});//end of ajax
});
});
});
メールを送信するための test.php の先頭の php:
include("expander-b1.0.php");
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
sendmail("admin@site.co.uk", $message, "Contact message from $name", $email);
これは、外部ファイルから単純なメール機能を取得しています。ただし、フォームのエントリを検証し (電子メールの検証を含む)、連絡先ダイブにエラーを表示する方法が必要です。私はjQueryやajaxの経験はありませんが、phpでifステートメントを使用して、ajaxの「成功」部分で変数をエコーすることはできません。