Обьект формы для FormData

256
15 июня 2017, 07:51

Столкнулся с неудобной проблемой.

data: new FormData($('form')[0])

работает отлично, но:

$("form").submit(function(e) {
  sendData($(this));
  e.preventDefault();
});
function sendData(submitForm) {
   ...
   data: new FormData(submitForm)

не работает. Я не могу понять почему. Я проверил и убедился что submitForm заполнен данными формы и информацией о ней. Тогда что тут именно не так и как это исправить?

Answer 1

Функция $ возвращает объект jQuery, который всегда представляет набор DOM-элементов, конструктор FormData аргументом принимает DOM-элемент формы и не может напрямую работать с объектом jQuery.

Во втором случае квадратные скобки нужны также, как и в первом, для того, чтобы получить DOM-элементы из объекта jQuery, для правильно работы нужно записать так:

data: new FormData(submitForm[0])

Либо вы можете передавать в функцию sendData объект this без вызова $:

sendData(this);
READ ALSO
Как настроить background-color для кнопок слайдера?

Как настроить background-color для кнопок слайдера?

ЗдравствуйтеСуть проблемы такова: есть слайдер на Slick

331
Получить запрос с api.ai

Получить запрос с api.ai

Создаю бота на базе apiai сервиса

372
Сделать вывод ошибки в регистрации

Сделать вывод ошибки в регистрации

Как вывести ошибку в регистрации и чтоб не шел на файл php, этой регистрации2 разных файла 1файл index

279