Запрос отправляется, но скрытому блоку не добавляется класс open
"use strict";
(function () {
// Скрипт для формы обратной связи
var FORM_HANDLER_URL = 'php/send.php';
var feedbackBlock = document.querySelector('.contact-us');
if (feedbackBlock) {
var feedbackForm = feedbackBlock.querySelector('.contact-us__form');
var XHR_RESPONSE_TO_STATUS = {
1: 'success'
}
// Обработка события Submit - срабатывает только при условии валидности основных полей
window.onSubmit = function (xhr) {
// Определяем ответ сервера
var xhrResponseText = xhr.responseText;
// Задаем функцию показа попапа
var showPopup = function (serverResponseText) {
// Находим в разметке всплывающее окно
var popup = document.querySelector('.contact-us__sent-wrapper');
var submitButton = document.getElementById('submit__button');
var status = XHR_RESPONSE_TO_STATUS[serverResponseText];
if (status === 'success') {
submitButton.addEventListener('click', () => {
var expanded = submitButton.getAttribute('aria-expanded') === 'true';
submitButton.setAttribute('aria-expanded', !expanded);
submitButton.classList.toggle('on');
popup.classList.toggle('contact-us__sent-wrapper--open');
});
}
}
// Задаем поведение в зависимости от ответа сервера
switch (xhrResponseText) {
case "1":
showPopup(xhrResponseText);
}
};
// Обработчик события submit
feedbackForm.addEventListener('submit', function (evt) {
// Отменяем отправку формы по умолчанию
evt.preventDefault();
// Собираем данные с формы
var data = new FormData(feedbackForm);
// Создаем xhr запрос
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
console.log("sent");
}
};
xhr.responseType = '';
xhr.open('POST', FORM_HANDLER_URL);
xhr.send(data);
})
};
})();