Отображение сообщений после электронной почты, отправленной в начальной загрузке 4 - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть контактная форма в bootstrap для моего сайта.Он использует Ajax для отправки любых сообщений предположительно в область сообщений в контактной форме.Хотя я не могу опубликовать это, я просто показываю это на новом экране.Я пытался заставить это работать в течение нескольких часов, это, кажется, связано с 1000hz-bootstrap-validator / 0.11.9 / validator.min.js ", но я не могу заставить это работать

    <div id="contact" class="paddsection">
  <div class="container">
    <div class="section-title text-center">
      <h2>Get in touch</h2>
    </div>

    <div class="row">
        <div class="col-lg-12">

              <form id="contact-form" method="post" action="contact.php" role="form">

                  <div class="messages"></div>

                  <div class="controls">

                      <div class="row">
                          <div class="col-md-6">
                              <div class="form-group">
                                  <label for="form_name">Firstname *</label>
                                  <input id="form_name" type="text" name="name" class="form-control" placeholder="Please enter your firstname *" required="required" data-error="Firstname is required.">
                                  <div class="help-block with-errors"></div>
                              </div>
                          </div>
                          <div class="col-md-6">
                              <div class="form-group">
                                  <label for="form_lastname">Lastname *</label>
                                  <input id="form_lastname" type="text" name="surname" class="form-control" placeholder="Please enter your lastname *" required="required" data-error="Lastname is required.">
                                  <div class="help-block with-errors"></div>
                              </div>
                          </div>
                      </div>
                      <div class="row">
                          <div class="col-md-6">
                              <div class="form-group">
                                  <label for="form_email">Email *</label>
                                  <input id="form_email" type="email" name="email" class="form-control" placeholder="Please enter your email *" required="required" data-error="Valid email is required.">
                                  <div class="help-block with-errors"></div>
                              </div>
                          </div>
                          <div class="col-md-6">
                              <div class="form-group">
                                  <label for="form_need">Please specify your need *</label>
                                  <select id="form_need" name="need" class="form-control" required="required" data-error="Please specify your need.">
                                      <option value=""></option>
                                      <option value="Ask about how I came up with the idea">Ask about how I came up with the idea</option>
                                      <option value="General query">General query</option>
                                      <option value="Where can I see your creations">Where can I see your creations</option>
                                      <option value="Other">Other</option>
                                  </select>
                                  <div class="help-block with-errors"></div>
                              </div>
                          </div>
                      </div>
                      <div class="row">
                          <div class="col-md-12">
                              <div class="form-group">
                                  <label for="form_message">Message *</label>
                                  <textarea id="form_message" name="message" class="form-control" placeholder="Message for me *" rows="4" required="required" data-error="Please, leave us a message."></textarea>
                                  <div class="help-block with-errors"></div>
                              </div>
                          </div>
                          <div class="col-md-12">
                              <input type="submit" class="btn btn-success btn-send" value="Send message">
                          </div>
                      </div>
                      <div class="row">
                          <div class="col-md-12">
                              <p class="text-muted">
                                  <strong>*</strong> These fields are required.
                          </div>
                      </div>
                  </div>

              </form>

        </div><!-- /.8 -->

    </div> <!-- /.row-->

  </div> <!-- /.container-->
</div>
<!-- end sectoion contact -->

Этокод pHP для отправки сообщения

   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'];
}

, а это js

    $(function () {

    // init the validator
    // validator files are included in the download package
    // otherwise download from http://1000hz.github.io/bootstrap-validator

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


    // when the form is submitted
    $('#contact-form').on('submit', function (e) {

        // if the validator does not prevent form submit
        if (!e.isDefaultPrevented()) {
            var url = "contact.php";

            // POST values in the background the the script URL
            $.ajax({
                type: "POST",
                url: url,
                data: $(this).serialize(),
                success: function (data)
                {
                    // data = JSON object that contact.php returns

                    // we recieve the type of the message: success x danger and apply it to the 
                    var messageAlert = 'alert-' + data.type;
                    var messageText = data.message;

                    // let's compose Bootstrap alert box HTML
                    var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>';

                    // If we have messageAlert and messageText
                    if (messageAlert && messageText) {
                        // inject the alert to .messages div in our form
                        $('#contact-form').find('.messages').html(alertBox);
                        // empty the form
                        $('#contact-form')[0].reset();
                    }
                }
            });
            return false;
        }
    })
});
...