Javascript/AJAXを使用して送信された連絡フォームのさまざまな例を探していました。解決策は機能していないようです。私はコードの既存のチャンクを書き直そうとしています。ここに私が残したことがあります(私自身の修正を加えて)。Javascript Ajax - 連絡先フォームにプロンプトが表示されず、送信ボタンが機能しない
私は、機能がうまくいかないところを理解していません。送信ボタンは何もせず、電子メールに送信せず、ページの一番上に移動します。
Javascriptを:
<script type="text/javascript">
$('#submit').click(function(){
var name = $("#name").val();
var email = $("#email").val();
var phone = $("#phone").val();
var message = $("#message").val();
if (name == "") {
$('.errormess').html('<div class="alert alert-warning"><strong>Please Insert Your name</strong></div>');
return false;
}
if (email == "") {
$('.errormess').html('<div class="alert alert-warning"><strong>Please Insert Your Email</strong></div>');
return false;
}
if (phone == "") {
$('.errormess').html('<div class="alert alert-warning"><strong>Please Insert Your Phone Number</strong></div>');
return false;
}
if (message == "") {
$('.errormess').html('<div class="alert alert-warning"><strong>Please Insert Some Text</strong></div>');
return false;
}
$.ajax({
type: "POST",
url: 'contact-us.php',
data: 'name='+$("#name").val() +
'email='+$("#email").val() +
'phone=' + $("#phone").val()
+ 'message=' + $("#message").val(),
dataType: "html",
success: function(data) {
if (data == 0) {
$('.errormess').html('<div class="alert alert-Success"><strong>Your Query Submited Successfully</strong></div>');
} else {
$('.errormess').html('<div class="alert alert-danger"><strong>Failed To Send the Email</strong></div>');
}
}
});
return true;
});
は、これが接触us.phpです:
<?php
$name=$_POST['name'];
$email=$_POST['email'];
$phone=$_POST['phone'];
$message=$_POST['message'];
$to = "[email protected]";
$subject = "Email From User";
$message = "
<html>
<head>
<title>Email From User</title>
</head>
<body>
<p>This email contains User Requirement</p>
<table>
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
<th>Message</th>
</tr>
<tr>
<td>".$name."</td>
<td>".$email."</td>
<td>".$phone."</td>
<td>".$message."</td>
</tr>
</table>
</body>
</html>
";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
$ok=mail($to,$subject,$message,$headers);
if ($ok) {
echo "1";
}
else{
echo "0";
}
?>
ブラウザの開発ツールを使用してリクエスト(ネットワークタブ)を追跡しようとします。あなた見えますか?返されるステータスコードは何ですか? – samsonthehero
申し訳ありませんが、私はあなたが何を参照しているか分かりません。ネットワークタブの "開発ツール"がスタックオーバーフローか他の場所にありますか? $アヤックス({ \tタイプ: "POST"、 \t URL: 'コンタクトus.php'、 \tデータ:{ \t \t名:nameVal、 –