【发布时间】:2022-01-19 14:37:51
【问题描述】:
我的代码
<!DOCTYPE html>
<html>
<body>
<div id="form-sample">
<form enctype="multipart/form-data">
<input type="text" name="sample-text" />
<input type="radio" name="sample-radio" value="yes" />
<input type="radio" name="sample-radio" value="no" />
<input type="file" name="images[]" multiple="multiple" />
<input type="submit" value="Fetch Data" />
</form>
</div>
<script>
function onSubmitForm(e) {
e.preventDefault();
const fD = new FormData(document.querySelector("#form-sample form"));
console.log(fD.entries()); // get an empty FormData Iterator
}
document.addEventListener('DOMContentLoaded', function(e) {
document.querySelector("#form-sample form").addEventListener("submit", onSubmitForm, false);
});
</script>
</body>
</html>
为什么 FormData 不加载 <form> 输入,为什么不返回异常?
实际上在最新的 Firefox 版本 (v95.0) 上尝试此代码
【问题讨论】:
-
您如何确定 FormData 迭代器为空,仅来自 console.log?我会使用
console.log(Array.from(fD.entries()).length)。 -
谢谢! @HereticMonkey 解决了我所有的问题
-
<input>s 是硬编码的 HTML,因此它们自然而然地像往常一样呈现。你的意思是加载,所以你会看到他们登录console?
标签: javascript html forms