gpt4 book ai didi

javascript - 使用javascript检查复选框列表中是否至少选择了一项

转载 作者:行者123 更新时间:2023-11-29 15:35:32 25 4
gpt4 key购买 nike

我想让我的代码检查是否在复选框列表中选中了一个或多个复选框。如果未选中任何复选框,那么我希望 window.alert 弹出“请至少选择一个兴趣”。目前,它所做的只是提醒,即使您选中了一个框,也没有选中任何内容。

我的代码如下:

<!DOCTYPE HTML>
<html>
<head>
<title>Web Site Registration Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function confirmSubmit(){
if(document.forms[0].interests.checked) {
{window.alert("Thank you");}
} else {
{window.alert("Select at least one preference");
}
return false;}
return true;
}

</script>
</head>
<body>
<h1>Web Site Registration Form</h1>
<h2>Personal Information</h2>
<form action="FormProcessor.html" method="get"
enctype="application/x-www-form-urlencoded" onsubmit="return confirmSubmit()">

<p>Select areas of interest (select at least one)</p>
<p><input type="checkbox" name="interests"
value="entertainment">Entertainment<br />
<input type="checkbox" name="interests"
value="business">Business<br />
<input type="checkbox" name="interests"
value="music">Music<br />
<input type="checkbox" name="interests"
value="shopping">Shopping<br />
<input type="checkbox" name="interests"
value="travel">Travel</p>
<p><input type="submit"></p>
</form>
</body>
</html>

注意: header 中的额外代码用于将输入的所有数据提交到显示已提交内容的页面。这是我的第一篇文章,所以请随时告诉我其他信息可能有帮助。谢谢!

最佳答案

在表单下方添加您的脚本标签,您可以使用this 将表单传递给您的回调。使用 querySelector for :checked 在表单内搜索选中的输入。

<script type="text/javascript">
function confirmSubmit(form){
if(form.querySelector(":checked")) {
window.alert("Thank you");
return true;
} else {
window.alert("Select at least one preference");
return false;
}
}

</script>

您可以通过更新您的 onclick 监听器将表单传递给您的回调;

<form action="FormProcessor.html" method="get"
enctype="application/x-www-form-urlencoded"
onsubmit="return confirmSubmit(this)">

这是 fiddle.

关于javascript - 使用javascript检查复选框列表中是否至少选择了一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687800/

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