現在、このサイトに連絡先フォームがあり、php の結果から ajax の結果に移行しようとしています。このコードで mail.php ファイルを使用しました。
<?php
$firstname = $_POST['firstName'];
$lastname = $_POST['lastName'];
$email = $_POST['email'];
$tel1 = $_POST['tel1'];
$tel2 = $_POST['tel2'];
$tel3 = $_POST['tel3'];
$reason = $_POST['reason'];
$message = $_POST['text'];
$formcontent="From: $firstname $lastname \n Email address: $email \n Telephone Number: $tel1 $tel2 $tel3 \n Reason: $reason \n Message: $message";
$recipient = "ilanbiala@ilanshomekitchen.x10.mx";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "<script>alert('Thank you!');</script>";
?>
このphpファイルは、コンタクトフォームの結果を電子メールで送信しました。ただし、ページが再読み込みされ、空白のページに警告ボックスが表示されましたが、これは意図したものではありません. jquery ajax関数を使用して、ajaxが情報をphpファイルに送信してメールで送信できるようにすることを検討しています.
お問い合わせフォームは、次の ajax 関数を介して送信されます。
function submitForm(form) {
var form = $("form").submit(function() {
var formData = new FormData(form);
console.log("formData");
var XHR;
if (window.XHMLHttpRequest){XHR = new XHMLHttpRequest();}
else {XHR = new ActiveXObject("Microsoft.XMLHTTP");}
XHR.open("POST","mail.php",true);
console.log("XHR opened.");
XHR.onreadystatechange = function(e) {
if (this.readyState == 4 && this.status == 200) {
XHR.send(formData);
console.log("Sent formData.");
}
}
});
}