Как отправить данные с формы в файл /main.php и если я напечатаю что-нибудь в файле /main.php - принималось в js и выводилось в консоль? Спасибо, заранее извиняюсь за глупый вопрос, некогда такое не делал и в гугле не нашел нечего(возможно плохо искал или не понял)
const forms = document.forms;
if (forms.length) {
for (const form of forms) {
form.addEventListener('submit', function (e) {
const form = e.target;
formSubmitAction(form, e);
});
form.addEventListener('reset', function (e) {
const form = e.target;
formValidate.formClean(form);
});
}
}
async function formSubmitAction(form, e) {
const error = !form.hasAttribute('data-no-validate') ? formValidate.getErrors(form) : 0;
if (error === 0) {
const ajax = form.hasAttribute('data-ajax');
if (ajax) { // Если режим ajax
e.preventDefault();
const formAction = form.getAttribute('action') ? form.getAttribute('action').trim() : '#';
const formMethod = form.getAttribute('method') ? form.getAttribute('method').trim() : 'GET';
const formData = new FormData(form);
form.classList.add('_sending');
const response = await fetch(formAction, {
method: formMethod,
body: formData
});
if (response.ok) {
let responseResult = await response.json();
form.classList.remove('_sending');
formSent(form, responseResult);
} else {
alert("Ошибка");
form.classList.remove('_sending');
}
}
} else {
e.preventDefault();
const formError = form.querySelector('._form-error');
if (formError && form.hasAttribute('data-goto-error')) {
gotoBlock(formError, true, 1000);
}
}
}
// Действия после отправки формы
function formSent(form, responseResult = ``) {
// Создаем событие отправки формы
document.dispatchEvent(new CustomEvent("formSent", {
detail: {
form: form
}
}));
setTimeout(() => {
if (flsModules.popup) {
const formBtnForm = form.dataset.popupMessage;
form.parentElement.classList.add("_active-application")
const formBtnCalculatorPriceForm = form.dataset.popupMessage;
form.parentElement.classList.add("_active-calculator")
const formBtnCalculatorFormForm = form.dataset.popupMessage;
form.parentElement.classList.add("_active-form")
}
}, 0);
// Показываем попап, если подключен модуль попапов
// и для формы указана настройка
setTimeout(() => {
if (flsModules.popup) {
const popup = form.dataset.popupMessage;
popup ? flsModules.popup.open(popup) : null;
}
}, 0);
// Очищаем форму
formValidate.formClean(form);
// Сообщаем в консоль
formLogging(`Форма отправлена!`);
}
function formLogging(message) {
FLS(`[Формы]: ${message}`);
}