Как получить несколько значений флажков в FormData? - PullRequest
0 голосов
/ 18 апреля 2020

Моя html форма имеет несколько флажков с одним и тем же атрибутом name:

<form id='cheese-selector'>
  <input type="checkbox" name="cheese" id="limburger" value="Limburger">Limburger</input>
  <input type="checkbox" name="cheese" id="camembert" value="Camembert">Camembert</input>
  <input type="checkbox" name="cheese" id="roquefort" value="Roquefort">Roquefort</input>
  <input type="submit" id="pick-cheese">Pick My Cheese!</input>
</form>

Я отправляю ее через ajax. Когда я создаю объект FormData, включается только первый выбранный флажок, даже если я отмечал более одного:

$('#limburger').click()
$('#camembert').click()
console.log(FormData(this).get('cheese'))
// 'Limburger'

Как заставить FormData кодировать все проверенные значения как массив

1 Ответ

1 голос
/ 18 апреля 2020

См. MDN :

Метод get () интерфейса FormData возвращает первое значение, связанное с данным ключом, из объекта FormData. Если вы ожидаете несколько значений и хотите получить все из них, используйте метод getAll ().

...