测试两个变量是否包含一些数据 javascript

test if two variables holds some data javascript

我从两个输入字段定义变量 - 并想测试是否在两个字段中实际输入了某些内容,然后在多个字段被填充时中断。

我认为 '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;
                }

现在,即使我没有填写任何内容,我也会收到提醒。

假设 document.getElementById('filegroup') 是某种类型的表单输入,当没有值时,该值将 return 为空字符串。尝试:

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。如果值 do 来自输入,那么 0 的值将是一个字符串,并且被视为 truthy。然而,数字 0 将是错误的。