Не заполняется FormData из DOM элемента формы
Браузер Firefox 61.
Отрезок кода такой: https://pastebin.com/gp1RywaK console.log(document.forms[this.formId]);//Здесь выводится DOM Element все хорошо let formData = new FormData(document.forms[this.formId]); console.log(formData);//но formData все равно пустой. Может из-за того что в форме 4 кнопки? В песочнице тоже не работает - https://jsfiddle.net/q9zgjfsm/11/ Вот здесь написано что FormData Можно заполнять из элемента. Но уменя до сих пор ничего не работает https://developer.mozilla.org/en-US/...rmData_Objects |
неправильно проверял объект FormData. Надо через getAll().
Исправленный вариант - https://jsfiddle.net/q9zgjfsm/16/ НО append() работает, а автозаполнение из формы нет ((( |
delgus, что не так-то?
|
formData.getAll("answers2") возвращает пустой массив, потому что у вас в форме нет чекнутых радио-баттонов.
|
Nexus,
Спасибо, я сам вот только 2 минуты назад допер) Тупая ошибка такая:lol: |
delgus,
И еще вы скоро столкнетесь с проблемой с чекбоксами с одинаковыми именами name="answers0". |
Dilettante_Pro,
одинаковые имена потому что это ответы на один вопрос, вообще в реализации у меня будет name="Answers[индекс вопроса]". Тоесть на сервере я буду получать массив Answers, если чекбоксы то в массиве Answers[вопрос] окажется массив со значением value выбранных чекбоксов |
delgus,
А не лучше ли варианты ответа yes/no выбирать через радио? А чекбокса для этого достаточно одного. |
Dilettante_Pro,
Это наброски для виджета викторины и я использую для демо простые данные чтобы не нагружать лишним. В реале вопросы будут выглядеть так 1. Туфелька-Инфузория - это... Бактерия Вирус Простейший, одноклеточный организм Модная обувь Микроб Будет возможность выбора одного варианта из нескольких, или множественный выбор и текстовый инпут) Вы оказались правы - чекбоксы перезатирают друг друга, не понимаю почему я думал что они сохраняются массивом. для каждого чекбокса получается надо свое имя |
delgus, можно и массивом.
<input name="someName[]" value="first" type="checkbox"/> <input name="someName[]" value="second" type="checkbox"/> |
Часовой пояс GMT +3, время: 14:05. |