Javascript停止执行或的其余部分

Javascript停止执行或的其余部分,javascript,forms,validation,Javascript,Forms,Validation,这只是一个简单的JavaScript表单验证,所有document.form.*.value都存在于我的页面上,除了document.form.dasdas.value=='' 在下面的代码中,如果任何表单为空,则会给出一个错误,但是在本例中,因为我假设DASDAS不是我页面上的表单,它不是,我的问题是为什么 即使它不存在,也不意味着它是空的吗 我的问题是:为什么在我填写完所有内容(customername到customerpostcode)并将customerbank和customercity

这只是一个简单的JavaScript表单验证,所有document.form.*.value都存在于我的页面上,除了document.form.dasdas.value==''

在下面的代码中,如果任何表单为空,则会给出一个错误,但是在本例中,因为我假设DASDAS不是我页面上的表单,它不是,我的问题是为什么

即使它不存在,也不意味着它是空的吗

我的问题是:为什么在我填写完所有内容(customername到customerpostcode)并将customerbank和customercity留空后,它仍然说所有内容都正常

删除该行后,一切正常,但我很好奇为什么它的行为是这样的

回答这个问题,不太好的解释是,太棒了

这是我的密码

function FileChecked()
{
    if( document.form.customername.value =='' || 
        document.form.customerpassword.value =='' || 
        document.form.customerphone.value =='' || 
        document.form.customeremail.value =='' || 
        document.form.customeradres.value =='' || 
        document.form.customerpostcode.value =='' ||
        document.form.dasdasdas.value =='' || 
        document.form.customerbank.value =='' || 
        document.form.customercity.value =='')
            {
                alert('Not all forms are filled.');
                return false;
            }
    // Check if file is selected and extension is .csv
    if(document.form.csvfile.value =='')
        {
            alert('No file given');
            return false;
        }
    else
        {
        ext = document.form.csvfile.value.toLowerCase();
        if(ext.substr(ext.length-4) == '.csv')
            {
            return true;
            }
        else
            {
            alert ('Filetype is not .csv');
            return false;
            }           
        }
}

如果
document.form.dasdas
不存在,则它是
未定义的
。无法获取
未定义的
的属性
——因此出现错误

你会想做一些类似的事情

... || (document.form.dasdasdas === undefined || document.form.dasdasdas.value == '') || ...

但正如我所说,如果
document.form.dasdas
DOM
上不存在,那么就很难有人填写它。

当您试图获取元素的value属性时,它应该存在于页面上或
DOM
本身中

document.form.dasdasdas
我相信这里您试图获取一个不存在的元素的值,所以当您试图获取它的value属性时,它会为您提供
未定义的

为了避免这种情况,首先需要检查它是否未定义,然后获取它的值并进行比较

(document.form.dasdasdas != undefined || document.form.dasdasdas.value == '')

+1(如果我可以)谢谢你的评论,这完全有道理,我的假设是它是空的,但是它没有定义,谢谢你的回答!谢谢你的回答,现在对我来说很有意义。