:
$(document).ready(function() {
$("#submit").click(function() {
var name = $("#name").val();
var message = $("#message").val();
$("#returnmessage").empty(); // To empty previous error/success message.
// Checking for blank fields.
if (name == '') {
alert(" Please Fill your name");
} else if (message == '') {
alert("Please Fill message");
} else {
$.post("xxx.php", { // To php file.
name: name,
message: message
}, function(data) {
$("#returnmessage").append(data);
if (data == "We will contact you soon.") {
$("#form")[0].reset(); // To reset form fields on success.
}
});
}
});
});
<form name="form" method="post" action="">
<h4>FEED-BACK FORM</h4>
<p id="returnmessage"></p>
<label>Name: </label>
<input type="text" id="name" /><br>
<label>Message: </label>
<input type="text" id="message" /><br>
<input type="button" id="submit" value="Submit"/>
</form>
PHPコードです
if (!isset($_POST['submit']))
をそして、これは主な原因で実行したことがないだろうかあなたPOST
サーバーへのデータ、および各ブラウザのデータそれを取る。特にChromeの場合、POST
はsubmit
になりません。これは、主にAJAXを送信しているデータに依存するので、あなたはそれが送る何を参照する必要があります、あなたのことを確認してください
if (count($_POST) == 0)
exit;
も:代わりにあなたのコード、使用の
![](https://i.stack.imgur.com/LHRS0.png)
mail()
機能をSMTPで使用するように設定しているか、またはphp.ini
の中でこれを使用するように設定してください。 のみあなたのコンソールをチェックすることができます、どのようなサーバーの応答。したがって、あなたのクライアントに次のような詳細を伝えてください。
if (mail($to, $email_subject, $email_body, $headers))
die("Success");
else
die("Failed");
上記の部分は、スクリプトが間違っていた場所を診断するのに役立ちます。同時に、最初の部分で終了する前に、メッセージで応答します。代わりにあなたのコードを使用:
if (count($_POST) == 0)
die("Need to POST");
はまた、クライアント側で、あなたはjQueryの最新またはかなりまともなバージョン(バージョン> 1.9.1)を使用してください。
OPのように見えますが、バグを見つけるための詳細な説明が必要です。他の人のために役立つことができます
- クロームであなたのURLを開きます。 のURLをアドレスバーに入力してください。
- ページがロードされたら、F12ボタンを押します。これでコンソールが起動します。
- これがうまくいかない場合は、右クリックしを選択してを検査し、コンソールをクリックしてください。十字ボタンをクリックして最初にコンソールをクリアしてください。
- リロードページ。コンソールにエラーがあるかどうかを確認してください。
- コンソールに何が表示されているか教えてください。情報を入力したら、[ネットワーク]タブをクリックし、[送信]をクリックします。
さらなる応答を待っています。
更新:
あなたはsuccess
方法でチェックされています
if (data == "We will contact you soon.")
しかし、ここであなたがPHPファイルでそれを送信していますか?これはPHPファイルの最後に必要です。
echo "We will contact you soon.";
コンソールで何か?コードブロックをインデントする必要があります。 – chris85
コードに間違いがあると思います。 – user3410277
@ user3410277あなたのコードは問題ないようです...どうしたのですか? 'POST' AJAXコールを表示できますか? [ネットワーク]タブの使用 –