簡體   English   中英

PHP中的自定義JS文件以發出警報

[英]Custom JS file in PHP for alert

我有一個HTML表單,提交后會彈出一個警告框。 這是通過php和javascript完成的。 現在,警報只是標准警報,但是我想設置警報的樣式。 我有一個自定義的CSS和自定義javascript文件( alert.cssalert.min.js ),它為我提供了不同樣式的警報框。 另外, swal是取代javascript alert的詞

我的問題是,在我的簡單php腳本中,我似乎無法引用這些文件來使自定義警報框彈出

如何正確引用自定義的alert.min.js文件?

這是(非常簡單的)PHP:

<?php 

if (isset($_POST['submit'])) {

    $to      =  "email@email.com";
    $from    =  "email@whatever.com";
    $name    =  $_POST['name'];
    $email   =  $_POST['email'];

    $subject =  "Contact Form Submission";
    $message =  "Name - " . $name . "\n" . "Message - " . $_POST['message'];
    $headers =  "From:" . $from;

    $headers =  'From: email@whatever.com' . "\r\n" .
    'Reply-To: ' . $email . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    $URL     =  "http://www.google.com/";

    if ( ! filter_var($from, FILTER_VALIDATE_EMAIL)) {
        echo "Please enter a valid email";
    } 
    else {
        mail($to,$subject,$message,$headers);
        echo " <script src="alert.min.js">swal('Thanks!', 'We'll get back to you shortly.');</script>";
        echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
        echo "<script type='text/javascript'>document.location.href='{$URL}';</script>";
    }

}

實際上,您正在使用SweetAlert

因此,您必須用html更新您的響應,因為您也必須包括sweetalert css才能正常工作,並且css會轉到頭部。

像這樣更新您的else部分

else {
    mail($to, $subject, $message, $headers);
    echo "
        <html>
            <head>
                <title>Document</title>
                <link rel='stylesheet' href='sweetalert.css'>
            </head>
            <body>
                <script src='sweetalert.min.js'></script>
                <script>sweetAlert('Thanks!', \"We'll get back to you shortly.\");</script>
                <script>document.location.href = '{$URL}';</script>
            </body>
        </html>";
}

考慮您的php文件正在生成經典的HTML頁面。 一個好習慣是,首先編寫所需的HTML文件(並對其進行測試),然后再由PHP生成它。

這是生成的HTML的外觀(對於腳本部分!)。

 <script src="alert.min.js"></script> <script>function swal(arg1,arg2){alert(arg1+arg2);} swal('Thanks!', 'We\\'ll get back to you shortly.'); document.location.href='google.com';</script> 

現在,要從php生成此HTML代碼,讓我們修改程序的最后一部分:

if (!filter_var($from, FILTER_VALIDATE_EMAIL)) {
        echo "Please enter a valid email";
    } else {
        mail($to,$subject,$message,$headers);
        echo " 
           <META HTTP-EQUIV='refresh' content='0;URL=$URL'>        
           <script src='alert.min.js'></script>
           <script>
              swal('Thanks!', 'We\'ll get back to you shortly.');
              document.location.href='{$URL}'
          </script>";

    }

HTML測試頁:

 <script src="alert.min.js"></script> <script>function swal(arg1,arg2){alert(arg1+arg2);}</script> <button type="button" onclick="swal('Thanks!', 'We\\'ll get back to you shortly.')">swal Test</button> 

暫無
暫無

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

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