【发布时间】:2021-08-08 20:20:03
【问题描述】:
我正在尝试创建简单的表单,该表单将发送到谷歌表格,并且我收到除复选框值之外的所有值。我一直在“开启”价值,但我不明白为什么。
var formData = new FormData();
document.querySelectorAll("form").forEach(f => {
let obj = {};
f.querySelectorAll("input").forEach(ele => obj[ele.name] = ele.value || "");
for (const key in obj) {
formData.append(key, obj[key]);
}
})
const scriptURL = 'https://script.google.com/macros/s//exec'
fetch(scriptURL, { method: 'POST', body: formData})
.then(response => alert("You have successfully submitted."))
.catch(error => console.error('Error!', error.message))
<div class="modal-body modal-body-step-5">
<div class="title">Almost..</div>
<div class="description">What type of materials do you want to install?</div>
<form>
<div class="control-group">
<label class="control control-checkbox">
Hardwood
<input name="Materials" type="checkbox" value="Hardwood"/>
<div class="control_indicator"></div>
</label>
<label class="control control-checkbox">
Vinyl
<input name="Materials" type="checkbox" value="Vinyl"//>
<div class="control_indicator"></div>
</label>
<label class="control control-checkbox">
Laminate
<input name="Materials" type="checkbox" value="Laminate"/>
<div class="control_indicator"></div>
</label>
<label class="control control-checkbox">
Other
<input name="Materials" type="checkbox" value="Other"/>
<div class="control_indicator"></div>
</label>
</div>
<div class="text-center fade-in">
<div class="button">Next</div>
</div>
</form>
</div>
【问题讨论】:
-
在这种情况下一组单选按钮不是更有意义吗?
-
这能回答你的问题吗? Checkbox value is always 'on'
-
您是否尝试在表单提交时添加事件侦听器?也许问题是您从未获得过值,而是获得了没有任何复选框的输入
标签: javascript html