Необходимо сделать ревизию и внести изменения в HTML код формы и (или) в файл-обработчик .php для нормализации работоспособности.
Сейчас заявка формируется и приходит на почту, но при отправки формы блокируется вывод поп-ап уведомления об успешной отправки заявки и страница сайта ругается на ошибку
HTML код формы:
<form action="" class="form-horizontal" id="get-price" method="post">
<fieldset><!-- Form Name --><legend style="text-align: center;">Заявка на получение прайс-листа</legend> <!-- Text input-->
<div class="form-group"><label class="col-md-4 control-label" for="name-opt">Ваше Имя</label>
<div class="col-md-4"><input class="form-control input-md" id="name-opt" name="name-opt" placeholder="" required="" type="text" /></div>
</div>
<!-- Text input-->
<div class="form-group"><label class="col-md-4 control-label" for="email-opt">Ваш e-mail</label>
<div class="col-md-4"><input class="form-control input-md" id="email-opt" name="email-opt" placeholder="" required="" type="text" /></div>
</div>
<!-- Text input-->
<div class="form-group"><label class="col-md-4 control-label" for="phone-opt">Телефон</label>
<div class="col-md-4"><input class="form-control input-md" id="phone-opt" name="phone-opt" placeholder="" type="text" /></div>
</div>
<!-- Text input-->
<div class="form-group"><label class="col-md-4 control-label" for="city-opt">Город</label>
<div class="col-md-4"><input class="form-control input-md" id="city-opt" name="city-opt" placeholder="" type="text" /></div>
</div>
<!-- Multiple Checkboxes -->
<div class="form-group"><label class="col-md-4 control-label" for="checkboxes">Каналы сбыта</label>
<div class="col-md-4">
<div class="checkbox"><label for="checkboxes-1"><input id="checkboxes-1" name="checkboxes-1" type="checkbox" value="Магазин " /> Магазин </label></div>
<div class="checkbox"><label for="checkboxes-2"><input id="checkboxes-2" name="checkboxes-2" type="checkbox" value="Интернет " /> Интернет </label></div>
<div class="checkbox"><label for="checkboxes-3"><input id="checkboxes-3" name="checkboxes-3" type="checkbox" value="Другое " /> Другое </label></div>
</div>
</div>
<!-- Multiple Checkboxes -->
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<div class="checkbox"><label for="approval"><input .="" c="" id="approval" name="approval" placeholder="" required="" type="checkbox" value="Я даю свое согласие на обработку персональных данных в соответствии c Политикой Безопасности интернет-магазина. " /> Я даю свое согласие на обработку персональных данных в соответствии c <u><strong><a href="https://chzda.ru/politika-bezopasnosti.html">Политикой Безопасности</a></strong></u> интернет-магазина. </label></div>
</div>
</div>
<br />
<br />
<!-- Button -->
<div class="form-group">
<div class="col-md-12" style="text-align: center;"><button class="btn btn-info" id="singlebutton" name="singlebutton">Отправить заявку</button></div>
</div>
</fieldset>
</form>
</div>
<script type="text/javascript">
function show(state){
document.getElementById('success-window').style.display = state;
document.getElementById('success-wrap').style.display = state;
}
</script>
<style type="text/css">#success-wrap{
display: none;
opacity: 0.8;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
padding: 16px;
background-color: rgba(1, 1, 1, 0.725);
z-index: 9999;
overflow: auto;
}
#success-window{
width: 450px;
height:170px;
margin: 30% auto;
display: none;
background: #fff;
z-index: 9999;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
-moz-border-radius:5px;
-o-border-radius:5px;
-khtml-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
}
#success-wrapper {
padding: 20px;
text-align:center;
}
</style>
<div id="success-wrap" onclick="show('none')"> </div>
<div id="success-window">
<div id="success-wrapper">
<h1>Ваш запрос был отправлен и будет обработан в ближайшее время</h1>
<button class="btn btn-info" id="success-button" name="successbutton" onclick="show('none')">Закрыть</button></div>
</div>
<script>
$(document).ready(function() {
$("#get-price").submit(function(){
var form = $(this);
var error = false;
var data = form.serialize();
$.ajax({
type: 'POST',
url: '/get-price.php',
dataType: 'json',
data: data,
beforeSend: function(data) {
form.find('input[type="submit"]').attr('disabled', 'disabled');
},
success: function(data){
show('block');
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
},
complete: function(data) {
form.find('input[type="submit"]').prop('disabled', false);
}
});
return false;
});
});
</script>
PHP обработчик (get-price.php) для формирования и отправки запроса на мою почту:
<?php
// Get price form
if((isset($_POST['name-opt'])&&$_POST['name-opt']!="")&&(isset($_POST['email-opt'])&&$_POST['email-opt']!="")){
$to = 'пока временно убрал отсюда мою почту';
$subject = 'Запрос оптового прайс-листа';
$message = '
<html>
<head>
<title>'.$subject.'</title>
</head>
<body>
<p>Имя: '.$_POST['name-opt'].'</p>
<p>e-mail: '.$_POST['email-opt'].'</p>
<p>Телефон: '.$_POST['phone-opt'].'</p>
<p>Город: '.$_POST['city-opt'].'</p>
<p>Канал(ы) сбыта: '.$_POST['checkboxes-1'].$_POST['checkboxes-2'].$_POST['checkboxes-3'].'</p>
<p> Примечание: '.$_POST['approval'].'</p>
</body>
</html>';
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: Запрос оптового прайса ЧЗДА <пока временно убрал отсюда мою почту>\r\n";
mail($to, $subject, $message, $headers);
}
?>