@z_u_l

Форма авторизации. В чем ошибка?

Добрый день. Пишу свою 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">&times;</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;
	})

});

Что тут не так?
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
customtema
@customtema
arint.ru
F12 жамк, потом сабмит жамк и смотрите в консоли, потом во вкладке Network - что вообще происходит. Уходит ли, что уходит, что приходит.

P.S. А зачем вы так много раз открываете и закрываете теги PHP???
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы