Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证复选框的JavaScript函数_Javascript_Html_Function_Validation_Checkbox - Fatal编程技术网

验证复选框的JavaScript函数

验证复选框的JavaScript函数,javascript,html,function,validation,checkbox,Javascript,Html,Function,Validation,Checkbox,我试图不允许同时选中两个复选框。这是我的香草JS。我已经验证了函数,当一个被选中时返回true,当两个都没有被选中时返回false。收音机盒不是一个选项 函数valForm(){ var both=document.getElementById(“cEmail1”和“cPhone1”); 对于(var i=1;i您不能使用getElementById同时获取两个元素,因此您需要使用和&操作符分别检查它们 您还需要首先检查这一点,因为在此之前的两个if语句将抢占此检查 函数valForm(){

我试图不允许同时选中两个复选框。这是我的香草JS。我已经验证了函数,当一个被选中时返回true,当两个都没有被选中时返回false。收音机盒不是一个选项

函数valForm(){
var both=document.getElementById(“cEmail1”和“cPhone1”);

对于(var i=1;i您不能使用
getElementById
同时获取两个元素,因此您需要使用
和&
操作符分别检查它们

您还需要首先检查这一点,因为在此之前的两个
if
语句将抢占此检查

函数valForm(){
var cEmail=document.getElementById(“cEmail1”);
var cPhone1=document.getElementById(“cPhone1”);
如果(cEmail.checked&&cPhone1.checked){
控制台日志(“假”);
返回false;
}否则如果(cEmail.checked | | cPhone1.checked){
console.log(“真”);
返回true;
}否则{
控制台日志(“假”);
返回false;
}
}

通过电子邮件与我联系
电话联系我


如果两个或两个选项都未选中,则返回false:

函数valForm(){
var email=document.getElementById(“cEmail1”);
var phone=document.getElementById(“cPhone1”)
如果(email.checked&!phone.checked | | |!email.checked&&phone.checked){
console.log('ok')
返回true;
}
console.log('不确定')
返回false;
}

通过电子邮件与我联系
电话联系我


如果不能选择单选框,那么您的代码会有一些问题。首先,您要检查是否选中了每个框,如果选中了其中任何一个框,则会立即返回。第二个,也是更大的问题,是您的
元素都应该未定义。Ja中的
&
vaScript是一个按位运算符,
getElementById
应该只返回一个元素。相反,您可以实现逻辑异或的等价形式,如下所示:

function valForm(){
     return document.getElementById("cEmail1").checked != document.getElementById("cPhone1").checked; 
}

$(文档).ready(函数(){
$('.slectOne')。在('change',function()上{
$('.slectOne').not(this).prop('checked',false);
$('#result').html($(this.data(“id”));
如果($(this).is(“:checked”))
$('#result').html($(this.data(“id”));
其他的
$('#result').html('Empty…!');
});
});
这里也有一个很好的例子

看看这个:为什么不使用单选按钮?为什么不使用单选按钮?单选框正是您想要的。但是为什么单选框不是一个选项?
else if(document.getElementById(“cEmail1”).选中&&document.getElementById(“cPhone1”).选中){
似乎是最符合逻辑的代码。这个问题不是关于jQuery方法。好好使用它,它是最好的方法
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('.slectOne').on('change', function() {
   $('.slectOne').not(this).prop('checked', false);
   $('#result').html($(this).data( "id" ));
   if($(this).is(":checked"))
    $('#result').html($(this).data( "id" ));
   else
    $('#result').html('Empty...!');
});
});
</script>
</head>
<body>
<input type="checkbox" class="slectOne" data-id="1 selected"/>
<input type="checkbox" class="slectOne" data-id="2 selected"/>
<input type="checkbox" class="slectOne" data-id="3 selected"/>
<input type="checkbox" class="slectOne" data-id="4 selected"/>
<input type="checkbox" class="slectOne" data-id="5 selected"/>
<input type="checkbox" class="slectOne" data-id="6 selected"/>
<input type="checkbox" class="slectOne" data-id="7 selected"/>
<input type="checkbox" class="slectOne" data-id="8 selected"/>
<input type="checkbox" class="slectOne" data-id="9 selected"/>
<input type="checkbox" class="slectOne" data-id="10 selected"/>
<span id="result"></span>
</body>
</html>