簡體   English   中英

Ajax不發布表單數據

[英]Ajax not posting form data

我最近問了一個有關在不重新加載頁面的情況下執行“發送郵件”腳本的問題,並弄清了我的AJAX存在的問題,這些都已解決。 我現在有以下問題:

當我的表單發布到我的AJAX時,腳本被執行,但是發布數據似乎沒有傳遞到PHP腳本。

我的問題的鏈接是: Contact Form同頁成功

這是我的PHP:

<?php


$name =  ($_POST['name']);
$email =  ($_POST['email']);
$fsubject =  ($_POST['subject']);
$message = ("Name: ". $name . "\nEmail Address: " . $email . "\n\nMessage: " . $_POST['message']);


// Set Mail
$to = "emailaddress@fakeone.com";
$header = 'From: contactus@fakeone.com' . "\r\n" .
    'Reply-To: website@fakeone.com';
$subject = "{$fsubject}";
$body = "{$message}";


// Send Mail
if (mail($to, $subject, $body, $header)) 
{
    echo("<p>Message successfully sent!</p>");
} 
else 
{
    echo("<p>Message delivery failed...</p>");
}

?>

我的HTML

<div id="success" style="color:red;"></div>

<form action="" id="contactform" method="post">
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>Your name *</label>
<input type="text" value="" data-msg-required="Please enter your name." maxlength="100"     class="form-control" name="name" id="name">
</div>
<div class="col-md-6">
<label>Your email address *</label>
<input type="email" value="" data-msg-required="Please enter your email address." data-msg-email="Please enter a valid email address." maxlength="100" class="form-control" name="email" id="email">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Subject</label>
<input type="text" value="" data-msg-required="Please enter the subject." maxlength="100" class="form-control" name="subject" id="subject">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Message *</label>
<textarea maxlength="5000" data-msg-required="Please enter your message." rows="10"     class="form-control" name="message" id="message"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<input type="submit" id="submit" value="Send Message" class="btn btn-info btn-lg" data-loading-text="Loading...">
</div>
</form>

我的AJAX

<script>
        $(document).ready(function () {

            $('#submit').click(function () {

                $.post("sendmail.php", $("#contactform").serialize(), function (response) {
                    $('#success').html(response); 

                });
                return false;
            });

        });
    </script>

當我填寫表格時,什么也沒有回來,它發送空的電子郵件。

任何想法,為什么帖子不工作對此將不勝感激。 如果我通過發布其他問題違反任何規則,請告訴我!

問候,丹

我認為問題出在您的PHP代碼中。 您有一個名為$ headers的變量,但是在您的郵件函數中,您正在使用$ header 錯字了。

更改以下幾行-

$subject = "{$fsubject}";
$body = "{$message}";

為此-

$subject = $fsubject;
$body = $message;

暫無
暫無

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

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