首页 > 解决方案 > 如何在 FormData 中获取多个复选框值?

问题描述

我的 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所有检查的值编码为数组?

标签: javascriptjqueryhtmlform-data

解决方案


MDN

FormData 接口的 get() 方法从 FormData 对象中返回与给定键关联的第一个值。如果您期望多个值并且想要所有这些值,请改用 getAll() 方法。


推荐阅读