我从两个输入字段定义变量 - 并且想要测试是否在两个字段中实际输入了某些内容,然后在填写多个字段时中断。
我认为' undefined'在将var设置为.value时欺骗我 - 即使它们不包含数据。
var value1 = document.getElementById('filegroup').value;
var value2 = document.getElementById('new_filegroup').value;
if(value1 !== undefined && value2 !== undefined )
{
alert("You must only fill one filegroup!")
return false;
}
现在即使我没有填写任何内容,我也会收到提醒。
答案 0 :(得分:2)
假设document.getElementById('filegroup')
是某种类型的表单输入,当没有值时,该值将返回空字符串。尝试:
var value1 = document.getElementById('filegroup').value;
var value2 = document.getElementById('new_filegroup').value;
if(value1 && value2) { // checks both values have something
alert("Both values have something")
}
if(value1 || value2) { // checks for at least one value
alert("one of them does")
}
N.B。如果值执行来自输入,那么值0
将是一个字符串,并被视为真实。但是,数字0
将是假的。