我的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
将所有检查值编码为数组?
参见MDN:
FormData接口的get((方法从FormData对象中返回与给定键关联的第一个值。如果需要多个值,并且需要所有值,请改用getAll((方法。