@nurzhannogerbek

Как правильно передать строки в функцию?

Здравствуйте, помогите пожалуйста разобраться.

Есть две формы (.user-create-form и .user-edit-form) и при сохранении данных (при submit) хочу вывести сообщения в блок (#user-action-message). К примеру при создании пользователя сообщение "Новый пользователь создан", а при редактировании сообщение "Данные пользователя были обновлены". Пытался использовать следующий код, но он вызывает ошибку. Думаю я некорректно передаю строку в функцию saveForm.

ERROR:
TypeError: Argument 1 of FormData.constructor does not implement interface HTMLFormElement.


JS:
var saveForm = function (success_message) {
        var form = $(this);
        var formData = new FormData(form[0]);
        $.ajax({
            url: form.attr("action"),
            data: formData,
            type: form.attr("method"),
            dataType: 'json',
            success: function (data) {
                if (data.form_is_valid) {
                    $("#users").html(data.html_users);
                    $("#user-action-message").html(success_message); <-- ПОКАЗАТЬ сообщения здесь
                    $("#modal-lg").modal("hide");
                }
                else {
                    $("#user-modal .modal-content").html(data.html_form);
                }
            }
        });
        return false;
    };

$("#user-modal").on("submit", ".user-create-form", saveForm("Новый пользователь успешно создан!"));
$("#user-modal").on("submit", ".user-edit-form", saveForm("Данные пользователя успешно сохранены!"));
  • Вопрос задан
  • 821 просмотр
Решения вопроса 1
Stalker_RED
@Stalker_RED
Со строкой все ок.
Проверьте, что именно вы передаете в FormData.

Как-то так: https://jsfiddle.net/z5jmmdpa/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Проблема где-то в form[0] . Выведите в консоль до new FormData
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
16 июн. 2024, в 17:19
3500 руб./за проект
16 июн. 2024, в 17:10
4000 руб./за проект