2012-02-19 24 views
2

jqueryバリデーションプラグイン(http://docs.jquery.com/Plugins/Validation)に基づいてコメントフォームを作成したいと思います。 AJAXを使用して送信するフォームを設定するにはどうすればよいですか?今は、次のページ(process.php)に行くことなく、フォームを提出することはできません。私はそれをフォームページにとどめておきたい。AJAX Jquery PHPフォームのバリデーション

コードは、現在jqueryからかなりまっすぐです。

<script> 
    $(document).ready(function() { 
     $("#commentForm").submit(function() { 
      if ($("#commentForm").validate()) { 
       $.ajax({ 
        type: 'POST', 
        url: 'process.php', 
        data: $(this).serialize(), 
        success: function (returnedData) { 
         $('#commentForm').append(returnedData); 
        } 
       }); 
      } 
      return false; 
     }); 
    }); 
</script> 


<form class="cmxform" id="commentForm" method="POST" action="process.php"> 
<label for="cname">Name</label> 
<em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" /> 

<label for="cemail">E-Mail</label> 
<em>*</em><input id="cemail" name="email" size="25" class="required email" /> 

<label for="curl">URL</label> 
<em> </em><input id="curl" name="url" size="25" class="url" value="" /> 
<label for="ccomment">Your comment</label> 
<em>*</em><textarea id="ccomment" name="comment" cols="22" class="required"></textarea> 

<input class="submit" type="submit" value="Submit"/> 

とPHPはあまりにもかなり標準です:任意の助け

<?php 

$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 

print "Form submitted successfully: <br>Your name is <b>".$_POST['cname']."</b> and your email is <b>".$_POST['email']."</b><br>"; 
?> 

感謝。

答えて

2
$(document).ready(function(){ 
    $("#commentForm").submit(function(){ 
     if($("#commentForm").validate()){ 
      $.ajax({ 
       type: 'POST', 
       url: 'process.php', 
       data: $(this).serialize(), 
       success: function(returnedData){ 
        alert(returnedData); 
       } 
      }); 
     } 
     return false; 
    }); 
}); 
+0

ありがとうございますが、フォームに「フォームが正常に送信されました」というメッセージを挿入するにはどうすればよいですか?これをPHPで印刷すると、ブラウザのポップアップが表示されます –

+0

php変数を作成してフォームに渡し、最後に「if」文を作成して最終確認を含めるべきですか?または、jquery/ajax経由で簡単な方法がありますか? –

+0

この問題の新しい質問を開始します。私の質問に答えてくれてありがとう –

関連する問題