2012-02-19 80 views
0

我正在創建一個基於jQuery驗證插件(http://docs.jquery.com/Plugins/Validation)的評論表單。我正在嘗試將jQuery驗證插件與我的表單集成,但無法通過ajax將php響應消息顯示在窗體下。Ajax Comment Form_Return PHP響應

目前,「print'ed php消息」Form submitted successfully「顯示爲瀏覽器彈出窗口。如何配置AJAX/JS以在html表單下方顯示「消息提交成功」的PHP消息?

<script> 
$(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; }); }); 
    </script> 

<form class="cmxform" id="commentForm" method="POST" action="process.php"> 
    <label for="cname">Name</label> 
    <input id="cname" name="name" size="25" class="required" minlength="2" /> 
    <label for="cemail">E-Mail</label> 
    <input id="cemail" name="email" size="25" class="required email" /> 
    <label for="curl">URL</label> 
    <input id="curl" name="url" size="25" class="url" value="" /> 
    <label for="ccomment">Your comment</label> 
    <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]'; 

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>"; 
?> 

感謝您的幫助。

回答

1

使用jQuery .append()方法而不是警報,就是這樣!這會將您發送給客戶的text/html附加到表單中。如果您想在頂部顯示消息,則可以使用prepend()

success: function(returnedData){ 
       $('#commentForm').append(returnedData); 
      } 
+0

謝謝,這是一個很大的幫助。但瀏覽器仍然向我發送我試圖阻止的彈出框。 – 2012-02-19 23:48:14

+0

不要忘記提醒(returnedData); 。謝謝你完美的答案 – 2012-02-19 23:59:30