@AJIEKC_10

Почему этот код передаёт пустые данные c html-формы в обработчик?

document.addEventListener("DOMContentLoaded", () => {

    const ajaxSend = async (formData) => {
        const response = await fetch("signup.php", {
            method: "POST",
            body: formData
        });
        if (!response.ok) {
            throw new Error(`Ошибка по адресу ${url}, статус ошибки ${response.status}`);
        }
        return await response.text();
    };

    if (document.getElementById("ajax_form")) {
        const forms = document.getElementById("ajax_form");

        forms.forEach(form => {
            form.addEventListener("submit", function (e) {
                e.preventDefault();
                const formData = new FormData(this);

                ajaxSend(formData)
                    .then((response) => {
                        console.log(response);
                        form.reset();
                    })
                    .catch((err) => console.error(err))
            });
        });
    }

});
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
@AJIEKC_10 Автор вопроса
Заменил getElementById("ajax_form") на getElementsByTagName("form"). Далее обнаружил ошибку: ajax.js:19 Uncaught TypeError: forms.forEach is not a function at HTMLDocument.. Исправил вот так:
'' [].forEach.call(forms, form => {.. ''
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы