Javascript 上一次选择时,验证不起作用

Javascript 上一次选择时,验证不起作用,javascript,forms,validation,Javascript,Forms,Validation,我正在验证我的出生日期 基本上,当输入第一个和第二个dob时,它工作正常,但在上一个选择年,它验证不工作并返回true 代码如下: 函数验证() { var dob1=document.getElementById('dob_input1')。值; var dob2=document.getElementById('dob_input2')。值; var dob3=document.getElementById('dob_input3')。值; 如果(dob1=''| | dob1==null

我正在验证我的出生日期

基本上,当输入第一个和第二个dob时,它工作正常,但在上一个选择年,它验证不工作并返回true

代码如下:

函数验证()
{
var dob1=document.getElementById('dob_input1')。值;
var dob2=document.getElementById('dob_input2')。值;
var dob3=document.getElementById('dob_input3')。值;
如果(dob1=''| | dob1==null和&dob2=''| | dob2==null和&dob3=''| | dob3==null)
{
document.getElementById('headerErrorBox').style.display='block';
document.getElementById('top-dob').style.display='block';
document.getElementById('dob_error_msg').style.display='block';
document.getElementById('below_error_dob_msg').style.display='block';
document.getElementById('dob_icon').style.marginLeft='-58px';
document.getElementById('dob_success_msg').style.display='none';
返回false;
}
}
错误!
成功
DD
1.
2.
等等。。到30岁
嗯
一月
二月
等等。直到十二月
YY
2000
1999
1998
1997

更改上一次的
标记名
您的情况应该是,而不是,因此如果没有任何值,它应该返回false

函数验证()
{
var dob1=document.getElementById('dob_input1')。值;
var dob2=document.getElementById('dob_input2')。值;
var dob3=document.getElementById('dob_input3')。值;
如果(dob1=''| | dob1==null | | dob2=''| | dob2==null | | dob3=''| | dob3==null)
{
document.getElementById('headerErrorBox').style.display='block';
document.getElementById('dob_success_msg').style.display='none';
返回false;
}
}
错误!
成功
DD
1.
2.
等等。。到30岁
嗯
一月
二月
等等。直到十二月
YY
2000
1999
1998
1997

我缺少选择DD和MM中的值,这就是它不起作用的原因

函数验证()
{
var dob1=document.getElementById('dob_input1')。值;
var dob2=document.getElementById('dob_input2')。值;
var dob3=document.getElementById('dob_input3')。值;
如果(dob1=''| | dob1==null,dob2=''| | dob2==null,dob3=''| | dob3==null)
{
document.getElementById('headerErrorBox').style.display='block';
document.getElementById('top-dob').style.display='block';
document.getElementById('dob_error_msg').style.display='block';
document.getElementById('below_error_dob_msg').style.display='block';
document.getElementById('dob_icon').style.marginLeft='-58px';
document.getElementById('dob_success_msg').style.display='none';
返回false;
}
}
错误!
成功
DD
1.
2.
等等。。到30岁
嗯
一月
二月
等等。直到十二月
YY
2000
1999
1998
1997

dob1=''| | dob1==null,dob2=''| | dob2==null,dob3=''| | | dob3==null
在那个表达式中有逗号看起来很奇怪,它们不应该也被
|
替换吗?@BlockCode我已经为您修复了MCVE。以后,请创建一个错误列表,以便我们能够更容易地发现错误。@Axnyff发布一个答案;我想你明白了。(虽然它们应该是
&&
,并在
周围加上括号(dob1=''| | dob1==null)
)@wizzwizz4谢谢兄弟。我是新来的。@Axnyff它不工作了,兄弟。我试图解决这个问题,但在最后的输入中,它给出了相同的错误。这肯定是一个错误,但可能不是错误。你能把堆栈片段复制到你的答案中,看看你的更改是否解决了这个问题吗?我想OP找到了他的答案!它不会影响类,因为类与类无关。当您选择YY时,它肯定会给您一个空错误!但是仍然不工作,我检查了这个输入类型的文本。。这是有效的,但不是选择。
<option value="">YY</option>