Добрый день. Пишу свою AJAX форму на битриксе. Но не могу понять, в чем ошибка, почему при нажатии на кнопку "Заказать звонок" ничего почему-то не происходит.
В footer.php создал разметку для самой формы.
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Форма обратного звонка</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form id="form-callback" action="ajax/callback.php">
<div class="form-group">
<label for="recipient-name" class="col-form-label">Имя:</label>
<input type="text" class="form-control" name="name">
</div>
<div class="form-group">
<label for="message-text" class="col-form-label">Телефон:</label>
<input type="text" class="form-control" name="phone">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<input class="btn btn-primary" type="submit" name="submit" value="Заказать звонок">
</div>
</div>
</div>
</div>
callback.php, который лежит в корне сайта в папке ajax
< ? define("NO_KEEP_STATISTIC", true);?>
< ? define("NOT_CHECK_PERMISSIONS", true); ?>
< ? define("NEED_AUTH", true); ?>
< ? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); ?>
< ?
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
if(!empty($_POST['phone']) and !empty($_POST['name'])) {
$arEventFields = array (
"NAME" => strip_tags($_POST['name']),
"PHONE" => strip_tags($_POST['phone'])
);
if ($sended = CEvent::Send("CALLBACK", SITE_ID, $arEventFields)) {
$result['status'] = "success";
$result['message'] = "Ваша заявка успешно отправлена";
} else {
$result['status'] = "error";
$result['message'] = "Произошла ошибка, попробуйте позже";
}
} else {
$result['message'] = "Имя и номер телефона обязательны";
$result['status'] = "error";
}
exit(json_encode($result));
}
?>
ajax отправка формы
$(document).ready(function(){
$('#form-callback').on('submit', function(e) {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
dataType: 'json',
success: function(result){
if(result.status == 'success') {
$('#form-callback').html('<p class="alert alert-success">'+result.message+'</p>');
}
if (result.status == 'error') {
$('#form-callback .info-box').html('<p class="alert alert-danger">'+result.message+'</p>');
}
}
});
e.preventDefault();
return false;
})
});
Что тут не так?