Я создал отправку формы с помощью Bootstrap 4 & PHPMailer, которая прекрасно работает, пока я не добавлю jQuery, чтобы попытаться отобразить окно предупреждения, показывающее успех или неудачу.
`
<div id="messages" class="hide" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<div id="messages_content"></div>
</div>
<form id="form" role="form" action="test.php" method="post" enctype="multipart/form-data" class="form">
<div class="row">
<div class="col-md-3">
<label class="input-group g-rounded-3 g-mb-0--md">
<input class="form-control g-brd-white g-brd-right-none border border-secondary border-right-0 u-has-success-v1-2" type="text" placeholder="Your name" name="name" required>
<div class="input-group-append">
<span class="input-group-text g-bg-white g-color-gray border border-secondary border-left-0"><i class="fa fa-user"></i></span>
</div>
</label>
</div>
<div class="col-md-3">
<label class="input-group g-rounded-3 g-mb-0--md">
<input class="form-control g-brd-white g-brd-right-none border border-secondary border-right-0" type="tel" placeholder="Your phone number" name="number" required>
<div class="input-group-append">
<span class="input-group-text g-bg-white g-color-gray border border-secondary border-left-0"><i class="fa fa-phone"></i></span>
</div>
</label>
</div>
<div class="col-md-4">
<select class="custom-select w-100 mr-sm-3 mb-3 mb-lg-0 border border-secondary" id="inlineFormCustomSelect" name="service">
<option selected="">Choose Services...</option>
<option value="General Enquiry">General Enquiry</option>
<option value="Light Demolition">Light Demolition</option>
<option value="Rubbish Clearance">Rubbish Clearance</option>
<option value="House Clearance">House Clearance</option>
</select>
</div>
<div class="col-md-2">
<button class="btn btn-md u-btn-white text-uppercase g-font-size-12 g-font-weight-600 g-rounded-5 border border-secondary bg-white btn-block" type="submit">Request Call Back</button>
</div>
</div>
</form>
</section>
</div>
</div>
</section>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script>
$('#form').submit(function(e) {
$('#messages').removeClass('hide').addClass('alert alert-success alert-dismissible').slideDown().show();
$('#messages_content').html('<h4>MESSAGE HERE</h4>');
$('#modal').modal('show');
e.preventDefault();
});
</script>`
Как только форма отправлена, окно предупреждения отображается с текстовым полем, оставшимся заполненным (явно не отправляемым нигде) и не получающим письмо.
Если я удаляю jQuery, форма отправляется в файл php, обрабатывается и возвращается обратно на страницу, и по электронной почте принимается.Я не могу найти эту конкретную проблему, я не вижу проблемы!