gpt4 book ai didi

javascript - 取消选中某些复选框后重置表单

转载 作者:行者123 更新时间:2023-11-28 00:43:55 25 4
gpt4 key购买 nike

我想在初始选择后取消选中第一个字段集中的复选框后重置表单。

如何使用 vanilla JavaScript 实现这一目标?

<form>
<fieldset>
<label><input type="checkbox" name="foo">Apples</label>
<label><input type="checkbox" name="foo">Oranges</label>
</fieldset>

<fieldset>
<label><input type="radio" name="bar">Red</label>
<label><input type="radio" name="bar">Blue</label>
</fieldset>
</form>

最佳答案

您可以为每个复选框添加一个点击事件处理程序,并检查当前复选框是否被选中。如果没有,检查之前是否检查过其中的任何一项,如果检查过,则使用 form.reset() 重置表单。

const checkboxes = document.querySelectorAll("input[type=checkbox]");
const form = document.querySelector("form");
var checkedOne = false;

Array.prototype.slice.call(checkboxes).forEach(function(checkbox) {
checkbox.addEventListener("click", function(e) {
if (this.checked) {
checkedOne = true;
} else {
if (checkedOne && !document.querySelectorAll("input[type=checkbox]:checked").length) {
form.reset();
}
}
});
});
<form>
<fieldset>
<label><input type="checkbox" name="foo">Apples</label>
<label><input type="checkbox" name="foo">Oranges</label>
</fieldset>

<fieldset>
<label><input type="radio" name="bar">Red</label>
<label><input type="radio" name="bar">Blue</label>
</fieldset>
</form>

关于javascript - 取消选中某些复选框后重置表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51901967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com