这是3个字段的简单形式,我已经设置了条件以检查是否为空。
我在运行时提供了电子邮件输入,但是以下情况一直为真:
if ((inputName.value == null) && (inputEmail.value == null) && (inputDate.value == null)){
console.log('empty fields')
alert('All the fields are mandatory')
return;
}
有人可以告诉我这里出什么问题吗?
答案 0 :(得分:2)
尝试此操作,而不是将空匹配与“
if ((inputName.value == '') || (inputEmail.value == '') || (inputDate.value == '')){
console.log('empty fields')
alert('All the fields are mandatory')
return;
}
编辑:用&|替换&&
答案 1 :(得分:2)
我看到两个问题。
第一个是value
可能是空字符串。您可以使用!
来处理-空字符串和null / undefined。
第二个,如果所有字段都是必填字段,则任何缺少的字段都将触发if
语句,因此您需要or
,即||
if ((!inputName.value) || (!inputEmail.value) || (!inputDate.value)){
console.log('empty fields')
alert('All the fields are mandatory')
return;
}
然后,您还应该开始思考如何以易于扩展的方式编写它。这样就可以了
if (anyEmpty([inputName.value, inputEmail.value, inputDate.value])){
console.log('empty fields')
alert('All the fields are mandatory')
return;
}
function anyEmpty(arr) {
arr.forEeach(str => {
if (!str) {
return true;
}
}
return false;
}
答案 2 :(得分:1)
有几种方法可以检查Javascript中的字符串是否为空。我想检查一下它的长度是否为0。
temp<- c(data1)
ret<-c(cumsum(data1))
a<-tail(ret,n = -3)
b<- head(ret,n=-3)
a-b
#9 13 18 24 31 39 38 48 59 81 84 98 113 129 146 164
THIS IS WHAT I GET (wrong)
THIS IS WHAT I AM EXPECTING (python can give this)
# 9 12 15 18 21 24 17 20 23 36 39 42 45 48 51 54