簡體   English   中英

未捕獲的 ReferenceError:sendEmail 未定義

[英]Uncaught ReferenceError: sendEmail is not defined

可能這里發生了一些簡單的事情,但我必須在處理 PHP 之前先處理它。 這次我將嘗試使用PHPMailer。

此外,我一直在嘗試學習如何在本地主機上發送表單大約一個星期了。 現在我將嘗試合並 PHPMailer。 我最初花了一些時間讓一個站點可以指向另一個文件夾,安裝和測試 PHP 並在 debian 上安裝 msmtp,甚至通過命令行發送了一封帶有 PHP 的測試電子郵件,但我還沒有得到一個可以提交的表單,這是一個:p

此外,在我對我的 php.ini 文件進行一些更改之前處理表單時,一個在 apache 目錄上,一個在 cli 目錄上,我想我取消了一些東西的注釋,我希望它不會干擾我正在嘗試做的事情。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Contact</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <style type="text/css">
        input, textarea {
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <div class="container" style="margin-top:100px;">
        <div class="row justify-content-center">
            <div class="col-md-6 col-md-offset-3" align="center">
                <input id="name" placeholder="Name" class="form-control">
                <input id="email" placeholder="Email" class="form-control">
                <input id="subject" placeholder="Subject" class="form-control">
                <textarea class="form-control" id="body" placeholder="Email Body"></textarea>
                <input type="button" onclick="sendEmail()" value="Send an Email" class="btn btn-primary"></type>
            </div>
        </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
    <script type="text/javascript">
        function sendEmail() {
            console.log('sending...');
            var name = $("#name");
            var email = $("#email");
            var subject = $("#subject");
            var body = $("#body");

            if (isNotEmtpy(name) && isNotEmpty(email) && isNotEmpty(subject)  && isNotEmpty(body)) {
                $.ajax({
                    url: 'sendEmail.php',
                    method: 'POST',
                    dataType: 'json',
                    data: {
                        name: name.val(),
                        email: email.val(),
                        body: body.val()
                    }, success: function (response) {
                        console.log(response)
                    }
                });
            }
        }

    function isNotEmpty(caller)  {
        if (caller.val()) == "") {
            caller.css('border', 1px solid red');
            return false;
        } else
            caller.css('border', '');

        return true;
    }
</script>

</body>
</html>
RAW Paste Data

嘗試使用以下代碼:

<script type="text/javascript">
    function sendEmail() {
        console.log('sending...');
        var name = $("#name");
        var email = $("#email");
        var subject = $("#subject");
        var body = $("#body");

        if (isNotEmpty(name) && isNotEmpty(email) && isNotEmpty(subject)  && isNotEmpty(body)) {
            $.ajax({
                url: 'sendEmail.php',
                method: 'POST',
                dataType: 'json',
                data: {
                    name: name.val(),
                    email: email.val(),
                    body: body.val()
                }, success: function (response) {
                    console.log(response)
                }
            });
        }
    }

    function isNotEmpty(caller) {
        if (caller.val() === "") {
            caller.css('border', '1px solid red');
            return false;
        } else {
            caller.css('border', '');
        }
        return true;
    }
</script>

我檢查了。 工作正常。

暫無
暫無

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

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