2017-08-18 12 views
-1

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"; 
} 
?> 
+0

ブラウザの開発ツールを使用してリクエスト(ネットワークタブ)を追跡しようとします。あなた見えますか?返されるステータスコードは何ですか? – samsonthehero

+0

申し訳ありませんが、私はあなたが何を参照しているか分かりません。ネットワークタブの "開発ツール"がスタックオーバーフローか他の場所にありますか? $アヤックス({ \tタイプ: "POST"、 \t URL: 'コンタクトus.php'、 \tデータ:{ \t \t名:nameVal、 –

答えて

0

私はこの問題は、AJAXでデータとだと思います。 {name:$( "#name")} val()、email:$( "#name")。val()、...}のようなオブジェクトで送信するか、それぞれの前に "&" val()+ '& email =' + $( "#email")val())のようなキーです( '& name =' + $( "#name"))。これがうまくいきたいです

+0

こんにちはDushantは、私はにアヤックスでスクリプトを変更しました\t \t \tメール:emailVal、 \t \t \t電話:phoneVal、 \t \t \tメッセージ:messageVal \t}、 \tデータ型: 'JSON' まだ動作していないようです –

関連する問題