我的JavaScript在复选框检查中有一些错误
my javascript has some mistake in checkbox checking
我的javascript有问题。我想做的是,如果我的用户没有在给定 10 个复选框的情况下选中任何复选框,那么我想给他一个警报,否则提交表单。我已经编写了一个 js 代码,但即使选中复选框也不起作用。请指出我的错误。这是我的代码。
window.onload = function() {
document.getElementById('submitbtn').onclick = function() {
var count = 0;
if(document.getElementById("pid1").checked == "checked")
{
count++;
}
if(document.getElementById("pid2").checked == "checked")
{
count++;
}
if(document.getElementById("pid3").checked == "checked")
{
count++;
}
if(document.getElementById("pid4").checked == "checked")
{
count++;
}
if(document.getElementById("pid5").checked == "checked")
{
count++;
}
if(document.getElementById("pid6").checked == "checked")
{
count++;
}
if(document.getElementById("pid7").checked == "checked")
{
count++;
}
if(document.getElementById("pid8").checked == "checked")
{
count++;
}
if(document.getElementById("pid9").checked == "checked")
{
count++;
}
if(document.getElementById("pid10").checked == "checked")
{
count++;
}
alert(count);
if(count == 0){
alert("Please select atleast 1 product");
return false;}
else{
document.getElementById("formreturn").submit();
return false;}
};
};
你应该检查 checked
属性是否真实/伪造,因为checked
属性是一个布尔值。喜欢这个:
if (document.getElementById("pid8").checked) { ..
即使在 HTML 中,您也不需要将字符串 "checked" 分配给 "checked" 属性。只有此属性的存在就足够了。
你可以重写这个:
<input type="checkbox" checked="checked" />
如:
<input type="checkbox" checked />
事实上,你可以给它分配任何东西,它将被忽略并被视为状态。
这也将起作用:
<input type="checkbox" checked="DoNotCheck" />
我看到您正在尝试计算选中复选框的数量。您可以使用querySelectorAll
轻松做到这一点。
请参阅此片段:
document.getElementById('btn').onclick = function() {
var l = document.querySelectorAll("input[type=checkbox]:checked").length;
document.getElementById('result').innerText = l;
}
<input type="checkbox" /><input type="checkbox" /><input type="checkbox" />
<input type="checkbox" /><input type="checkbox" /><input type="checkbox" />
<hr />
<input id="btn" type="button" value="Go" />
<p id="result" ></p>
你的答案:使用 checked 属性,它是一个布尔值,所以你不需要将其与 'checked' 进行比较。
其次:重写它,因此代码:)更少
var count = 0;
for (var index = 1; index<= 10; index++){
if(document.getElementById("pid" + index).checked){
count++;
}
}
<form action="some.php" id="myForm" method="POST">
<input type="checkbox" name="some1" value="" id="some1">
<label for="some1">title of checkbox 1</label>
<input type="checkbox" name="some2" value="" id="some2">
<label for="some2">title of checkbox 2</label>
<input type="checkbox" name="some3" value="" id="some3">
<label for="some3">title of checkbox 3</label>
</form>
$(function(){
var form = $("#myForm");
form.submit(function(e){
if(form.find("input[type=checkbox]:checked").length > 0){
} else{
}
});
});
假设pidX
是checkbox
类型的input
,则无需将.checked
与"checked"
进行比较。
另外,使用循环...
window.onload = function() {
document.getElementById('submitbtn').onclick = function() {
var count = 0;
for(var i = 1; i <= 10; i++) {
if (document.getElementById("pid" + i).checked) {
count++;
}
}
alert(count);
if (count == 0) {
alert("Please select at least 1 product");
return false;
}
document.getElementById("formreturn").submit();
return false;
};
};
相关文章:
- 在node.js中写入ECONNRESET错误和套接字连接检查
- 错误检查在Javascript中不起作用
- javascript window.location在检查firebug时给了我一个错误的url路径
- 正在检查ajax响应中的错误数据
- Visual Studio代码未在Javascript中执行错误检查
- JavaScript游戏引擎——编辑器中的代码运行:)检查器中的错误
- Ajax错误检查-如果Ajax请求失败,如何防止内容发生更改
- 检查登录错误Android WebView Javascript
- 在文本区域检查电子邮件数据时出现奇怪的jquery错误
- 将PHP变量传递给javascript/jquery进行错误检查
- 使用 AJAX 和 JSP 错误检查用户名可用性
- j查询表单错误检查
- 如何仅根据显示的项目处理错误检查
- HTML-如何在javascript中对文本区域的空值输入进行错误检查
- Chrome's IndexedDB错误"内部错误检查键存在"是什么意思?
- 错误检查输入,Javascript
- 表单一旦被错误检查破坏就不会提交
- Java联网,错误检查和数据库
- 带语法错误检查和调试的Javascript编辑器
- 样式错误检查元素