联系表格提交时显示谢谢

时间:2013-08-11 13:27:49

标签: forms twitter-bootstrap alert contact

好的,所以我看过论坛并看到类似的问题,但是我仍然无法使用我从各种页面中窃取的代码。

我正在使用bootstrap css来显示联系表单,常用字段,姓名电子邮件,消息等.action =“process.php”是我将用户添加到mysql数据库中然后通过电子邮件向我发送确认信息有人提交了表格。所以一切都很好,只是我希望在表单提交后显示一条简单的“谢谢”消息,而不是重定向到另一个页面。

我有以下信息:

<!-- thank you message -->
<div id="thanks" class="alert alert-success fade">
  <button href="#" type="button" class="close">&times;</button>
  <h4>Got it!</h4>
  <p>Thanks. I've received your message, I'll be in touch within 24 hours. Promise.</p>
</div>

然后使用此js添加“in”以在提交后显示它:

$('#send_button').click(function () {
    $('#thanks').addClass('in'); 
});

$('.close').click(function () {
    $(this).parent().removeClass('in'); // hides alert with Bootstrap CSS3 implem
});

我简单地看到了谢谢你的警告信息,但后来我被重定向到“process.php”,这并没有显示任何内容,因为没有html,只有mysql的东西和php邮件。 还有一点要注意,无论这是否有意义,我最初都是通过ajax加载联系表单,所以url就像wdr / index.php #contact

有人可以帮我完成代码。我确信它很简单,我很想让它按原样运作。

任何帮助表示感谢。

中校

1 个答案:

答案 0 :(得分:4)

使用Ajax可以轻松实现。这是我用于简单发送的内容:

js:

$('#form_id').on('submit', function(e) {
    e.preventDefault(); //Prevents default submit
    var form = $(this); 
    var post_url = form.attr('action'); 
    var post_data = form.serialize(); //Serialized the form data for process.php
    $('#loader', form).html('<img src="../img/forms/loader.gif" /> Please Wait...');
    $.ajax({
        type: 'POST',
        url: 'process.php', // Your form script
        data: post_data,
        success: function(msg) {
            $(form).fadeOut(500, function(){
                form.html(msg).fadeIn();
            });
        }
    });
});

process.php:

<?php

/* Configuration */
$subject = 'Submission received'; // Set email subject line here
$mailto  = 'your email address'; // Email address to send form submission to
/* END Configuration */

$firstName      = $_POST['firstName'];
$lastName       = $_POST['lastName'];
$email          = $_POST['email'];
$companyName    = $_POST['companyName'];
$phone          = $_POST['phone'];
$callTime       = $_POST['callTime'];
$timestamp = date("F jS Y, h:iA.", time());

// HTML for email to send submission details
$body = "
<br>
<p>The following information was submitted through the contact form on your website:</p>
<p><b>Name</b>: $firstName $lastName<br>
<b>Email</b>: $email<br>
<b>Company name</b>: $companyName<br>
<b>Phone number</b>: $phone (Please call in the <b>$callTime</b>)</p>
<p>This form was submitted on <b>$timestamp</b></p>
";

// Success Message
$success = "
<div class=\"row-fluid\">
    <div class=\"span12\">
        <h3>Submission successful</h3>
        <p>Thank you for taking the time to contact Pacific One Lending. A representative will be in contact with you shortly. If you need immediate assistance or would like to speak to someone now, please feel free to contact us directly at <strong>(619) 890-3605</strong>.</p>
    </div>
</div>
";

$headers = "From: $firstName $lastName <$email> \r\n";
$headers .= "Reply-To: $email \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<html><body>$body</body></html>";

if (mail($mailto, $subject, $message, $headers)) {
    echo "$success"; // success
} else {
    echo 'Form submission failed. Please try again...'; // failure
}

?>