如何使用jQuery通知插件获取php echo和die消息


How to get php echo and die messages to work with jQuery notice plugin

我创建了一个联系人表单,它被设置为通过mail.php文件发送表单内容。目前,它分别通过echo和die在新的空白页面上显示成功/错误消息,但我希望在当前页面上弹出某种通知。

我想使用的解决方案是http://www.sandbox.timbenniks.com/projects/jquery-notice/,但该网站上的演示使用了一个将通知添加到按钮的示例。我需要做的是添加通知来代替echo或die输出消息。这可能吗?

这是我正在使用的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 = "jasonbradberry@gmail.com";
  $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>

谢谢!

我会让表单在禁用JavaScript的情况下工作,然后使用jQuery将表单POST到页面,并以这种方式解析任何正常的成功消息。

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

希望能有所帮助。

使用Jquery post提交表单。并获得显示为json的通知消息。。。

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

使用jquery 搜索此行以提交您的表格

"示例:使用ajax请求发送表单数据"。。。

响应时。。写这个代码(取自添加的通知链接u)

jQuery.noticeAdd({text:数据,//ur通知消息停留:真实});