Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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_Jquery_Field - Fatal编程技术网

Javascript 验证是否填写了两个表单字段之一?

Javascript 验证是否填写了两个表单字段之一?,javascript,jquery,field,Javascript,Jquery,Field,两个字段中至少有一个是必填字段,如果填写了字段1或字段2,则发送表单时,必填字段仅为其中一个字段。我正试图用下面的代码来实现这一点,但效果并不好,这只是像字段1(text1)那样进行必要的验证。谢谢大家! var field1=text1; var field2=text2; 如果(文本2.长度){ 如果(!field1.length | |!field2.length){ 返回false; } }else if(!field1.length){ 返回false; } 这是一个简单的情况,即使

两个字段中至少有一个是必填字段,如果填写了字段1或字段2,则发送表单时,必填字段仅为其中一个字段。我正试图用下面的代码来实现这一点,但效果并不好,这只是像字段1(text1)那样进行必要的验证。谢谢大家!

var field1=text1;
var field2=text2;
如果(文本2.长度){
如果(!field1.length | |!field2.length){
返回false;
}
}else if(!field1.length){
返回false;
}

这是一个简单的情况,即使用not运算符对每个长度执行AND条件

if (!field1.length && !field2.length) {
    return false;
}
如果field1是空的,field2是空的,那么表单是无效的

这假定
field1
field2
是字符串值,而不是DOM元素。如果它们是DOM元素,则需要使用
field1.value.length
field2.value.length
如下:

var field1 = document.getElementsByClassName("text1").value;
var field2 = document.getElementsByClassName("text2").value;

// Check if one of the fields is not empty
if (field1.length || field2.length) {
        return true;
}
return false;

我正在尝试执行其中一个必需的操作,但这只是填充第一个字段,当我填充第二个字段并将第一个字段保留为空时,表单按钮可以发送信息。设置
field1
field2
时一定有问题,因为这是正确的逻辑。你可以在这里看到一个工作演示