作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前在创建FormData
对象时,会添加值为“on”的选中复选框,而未选中的复选框则根本不会通过。
我是否必须破解一些隐藏的输入才能正确设置复选框,或者我是否可以使用 FormData 进行一些自定义或预处理?
我希望选中的复选框为 1,未选中的复选框为 0。我自己已经可以做到这一点(即丑陋的技巧),但我看不到 FormData 的任何 native 方式。
form.addEventListener("submit", function(e) {
e.preventDefault();
const data = new FormData(form);
for (const [name,value] of data) {
console.log(name, ":", value)
}
})
<form id="form">
<input name="normal" type="text" value='example' />
<input id="inpt" name="on" type="checkbox" />
<label for="inpt">on</label>
<br /><button type="submit">submit</button>
</form>
最佳答案
Currently when creating a FormData object, a checked checkbox is added with a value of "on", and an unchecked checkbox is not passed at all.
on
仅在复选框缺少 value
属性时使用
Do I have to hack in some hidden inputs to properly set checkboxes
没有。 是正确处理复选框。自从将表单元素添加到 HTML 以来,这就是它们在表单中的工作方式。
在处理它的代码中测试是否存在复选框。
关于javascript - 表单数据和复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33487360/
我是一名优秀的程序员,十分优秀!