mailform contact.php成功后重新加载页面

时间:2018-06-20 05:54:05

标签: php mail-form

在mailform contact.php成功后重新加载页面。::

,我使用了validate.js。 validate.js。这有问题吗?

很抱歉,我将向您显示代码。 plz

html

 <form id="contactform" action="contact.php" method="post" class="validateform" name="send-contact">
   <div id="sendmessage">
      thanks
   </div>
   <div class="controls">
      <div class="row">
         <div class="col-md-12">
            <div class="form-group">
               <input type="text" name="subject" data-rule="subject" data-msg="" placeholder="hi~"/>
               <div class="help-block with-errors"></div>
            </div>
         </div>
      </div>
      <div class="col-md-12">
         <input type="submit" class="btn btn-success btn-send" value="Send message" >
      </div>
   </div>
   </div>
</form>

contact.php

<?php

$headers = array('Content-Type: text/plain; charset="UTF-8";', 
    "From: ". $_POST['name'] . "<". $_REQUEST['email'].">", 
); 

mail($sendTo, $subject, $emailText, implode("\n", $headers));

$responseArray = array('type' => 'success', 'message' => $okMessage);

catch (\Exception $e) {
   $responseArray = array('type' => 'danger', 'message' => $errorMessage);
}

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
   $encoded = json_encode($responseArray);

   header('Content-Type: application/json');

   echo $encoded;
}
else {
   echo $responseArray['message'];
}

最后是代码

$(function () {

$('#contact-form').validator();

$('#contact-form').on('submit', function (e) {
    if (!e.isDefaultPrevented()) {
        var url = "contact.php";

        $.ajax({
            type: "POST",
            url: url,
            data: $(this).serialize(),
            success: function (data)
            {
                var messageAlert = 'alert-' + data.type;
                var messageText = data.message;

                var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>';
                if (messageAlert && messageText) {
                    $('#contact-form').find('.messages').html(alertBox);
                    $('#contact-form')[0].reset();
                }
            }
        });
        return false;
    }
})
        });

出什么问题了? mailform contact.php成功后重新加载页面。::

,我使用了validate.js。 validate.js。这有问题吗?

很抱歉,我将向您显示代码。 plz

2 个答案:

答案 0 :(得分:0)

要在ajax调用后重新加载页面,可以使用此页面并将其放入ajax调用中:

location.reload();

使用您的代码:

$.ajax({
    type: "POST",
    url: url,
    data: $(this).serialize(),
    success: function (data)
    {
        var messageAlert = 'alert-' + data.type;
        var messageText = data.message;

        var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>';
        if (messageAlert && messageText) {
            $('#contact-form').find('.messages').html(alertBox);
            $('#contact-form')[0].reset();
        }

        location.reload();
    }
});

答案 1 :(得分:0)

location.reload();

使用此代码

相关问题