簡體   English   中英

如何使用 sweetalert 在 html 中顯示 php 警報消息

[英]How to display php alert message in html using sweetalert

這是我的聯系表格。
提交success/fail后,我需要在 sweetalert 中顯示消息。 錯誤/成功消息在 php 警報中。

<form class="contact-form" action="" method="post" id="form_id">
    <div class="form-group">
         <input type="text" name="name" class="form-control" placeholder="Full Name" required>
    </div>
    <div class="form-group">
        <input type="number" name="number" class="form-control" placeholder="Phone No." required>
    </div>
    <div class="form-group">
        <input type="text" name="country" class="form-control" placeholder="Country" required>
    </div>
    <div class="form-group">
        <input type="email" name="email" class="form-control" placeholder="Your Email Id" required>
    </div>
    <div class="form-group">
        <input type="date" name="date" class="form-control" placeholder="Travel Date" required>
    </div>
    <div class="form-group">
    <textarea class="form-control" name="message" placeholder="Your Message" style="height:140px"></textarea>
    </div>
    <button type="submit" class="btn btn-primary" name="submit" value="send">SEND MESSAGE</button>
</form>

這是我的php代碼

  • 用於發送郵件
use PHPMailer\PHPMailer\PHPMailer;
require_once 'phpmailer/Exception.php';
require_once 'phpmailer/PHPMailer.php';
require_once 'phpmailer/SMTP.php';

$mail = new PHPMailer(true);

$alert = '';
if(isset($_POST['submit'])){
  $name = $_POST['name'];
  $email = $_POST['email'];
  $number = $_POST['number'];
  $country = $_POST['country'];
  $message = $_POST['message'];
  $package=$_POST['package'];
  $date=$_POST['date'];

  try{
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = ''; // Gmail address which you want to use as SMTP server
    $mail->Password = ''; // Gmail address Password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port = '587';

    $mail->setFrom(''); // Gmail address which you used as SMTP server
    $mail->addAddress(''); // Email address where you want to receive emails (you can use any of your gmail address including the gmail address which you used as SMTP server)

    $mail->isHTML(true);
    $mail->Subject = 'Message Received';
    $mail->Body = "<h3>Name : $name <br><br>Phone No: $number <br><br> Country: $country <br><br> Email: $email <br><br>Arrival Date: $date <br><br>Package: $package <br><br> Message: $message</h3>";

    $mail->send();
    $alert = 'alert-success';
  } catch (Exception $e){
    $alert = 'alert-error';
  }     
}

這是我的javascript代碼

  • 燕尾警報
  • alert-success檢查
success:function(alert) {
    if(alert == 'alert-success'){
        swal("Good job!", "You clicked the button!", "success");
    }
    else swal("Something is missing!!!!!", "Try again","error");
}

如果不使用 ajax 你可以這樣做:

 <script>
 var alert = '<?php echo $alert;?>';        
 if(alert == 'alert-success'){
     alert('yes');//for test 
      swal("Good job!", "You clicked the button!", "success");
 }
 else if(alert=='alert-error'){
       alert('no');//for test
       swal("Something is missing!!!!!", "Try again","error");
   }
 </script>

你應該使用 ajax 來進行這個甜蜜的警報操作。

$.ajax({
  .... other settings you already have
  error: function (xhr, ajaxOptions, thrownError) {
    swal("success!", "Form has been submitted", "success");
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM