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

时间:2015-03-09 14:19:03

标签: javascript undefined

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

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

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

1 个答案:

答案 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将是假的。