2012-09-14 41 views
0

我創建了一個聯繫表單,並且它已設置爲通過mail.php文件發送表單內容。目前,它通過echo和die分別在新的空白頁面上顯示成功/錯誤消息,但我想要在當前頁面上彈出某種通知。如何獲取php echo和die消息以使用jQuery通知插件

我想使用的解決方案是http://www.sandbox.timbenniks.com/projects/jquery-notice/,但該網站上的演示使用了將通知添加到按鈕的示例。我需要做的是添加通知來代替回顯或模板輸出消息。這可能嗎?

下面是我使用的代碼mail.php ...

<?php $name = $_POST['name']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
if (isset($_POST['service'])) { 
$service = $_POST['service']; 
// $service is an array of selected values 
} 
$message = $_POST['message']; 
$formcontent=" Message received from wwww.jhnormanandsons.co.uk: \n \n From: $name \n Phone: $phone \n \n Service required: $service \n \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "You have a new message from $name"; 
$mailheader = "From: $email \r\n"; 
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
echo ("Thank you for your message. We'll be in touch as soon as we can."); 
?> 

這裏的HTML表單...

<form id="contact-form" method="post" action="mail.php" name="jh_contact"> 
      <input type="text" id="name" name="name" placeholder="Name" required /> 
      <input type="email" id="email" name="email" placeholder="Email" required /> 
      <input type="tel" id="phone" name="phone" placeholder="Phone" required /> 
      <textarea id="message" name="message" placeholder="Message" required ></textarea> 
      <select name="service"> 
       <option>Service required</option> 
       <option value="MOT">MOT</option> 
       <option value="Service/repairs">Service/repairs</option> 
       <option value="Cars for sale">Cars for sale</option> 
       <option value="Welding">Welding</option> 
       <option value="Exhausts">Exhausts</option> 
       <option value="Tyres">Tyres</option> 
       <option value="Brakes">Brakes</option> 
       <option value="Diagnostics">Diagnostics</option> 
       <option value="Vehicle checks">Vehicle checks</option> 
       <option value="Courtesy car">Courtesy car</option> 
       <option value="Advice">Advice</option> 
       <option value="Other">Other</option> 
      </select> 
      <input type="submit" value="Send" id="submit-button" name="submit" /> 
     </form> 

謝謝!

回答

0

我想JavaScript的表單工作也是禁用的,然後使用jQuery將表單發佈到頁面並以任何方式解析任何正常的成功消息。

<?php 
if (isset($_POST['send'])) { 
    // process form 
    if ($sent === true) { 
     $alert_class = 'success'; 
     $alert_test = 'Your enquiry was sent successfully.'; 
    } 
    else { 
     $alert_class = 'error'; 
     $alert_text = 'There was an error sending your enquiry.'; 
    } 
} 
?> 
<!DOCTYPE html> 
<html> 
    <body> 
<?php if (isset($alert_text)): ?> 
    <div class="alert <?php echo $alert_class; ?>"> 
     <p><?php echo $alert_text; ?></p> 
    </div> 
<?php endif; ?> 
    <form action="" method="post" id="contact-form"> 
     <!-- your form --> 
    </form> 
    </body> 
</html> 

然後jQuery的:

(function($) { 
    $('#contact-form').submit(function() { 
     $.post($(this).attr('action'), $(this).serialize(), function(response) { 
      var alert_text = $(response).find('.alert').text(); 
      alert(alert_text); 
     }); 
     return false; 
    }); 
})(jQuery); 

希望有所幫助。

0

使用jquery post提交表單。並獲得通知消息顯示爲JSON ...

http://api.jquery.com/jQuery.post/

搜索這條線使用jQuery

提交表單「示例:使用Ajax請求發送表單數據」 ...

上響應..寫這個代碼

jQuery.noticeAdd({ 文本(從通知鏈接ü加入截取):數據,//烏爾通知MSG 停留時間:真 });