一行Javascript导致文件的其余部分无法运行

一行Javascript导致文件的其余部分无法运行,javascript,Javascript,我有一个Javascript文件,用于检查表单的输入。但是,当我取消注释注释行时,javascript文件无法正常工作,即使某些字段为空,也会提交表单。事实上,Javascript文件甚至没有进入第二个警报函数。发生了什么事 function checkLogin() { alert("HERE"); //document.getElementById("errors").style.display = "none"; var form = document.getEle

我有一个Javascript文件,用于检查表单的输入。但是,当我取消注释注释行时,javascript文件无法正常工作,即使某些字段为空,也会提交表单。事实上,Javascript文件甚至没有进入第二个警报函数。发生了什么事

function checkLogin()
{
    alert("HERE");
    //document.getElementById("errors").style.display = "none";
    var form = document.getElementById("form1");
    var problems = false;
    document.getElementById("errorJS").style.display = "none";
    document.getElementById("errorJS").innerHTML = "";
    alert("test");
    if(form.email.value.length < 1)
    {
        document.getElementById("errorJS").innerHTML += "Please enter your email address. <br />";
        problems = true;
        document.getElementById("errorJS").style.display = "block";
    }
    if(form.pword.value.length < 1)
    {
        document.getElementById("errorJS").innerHTML += "Please enter your password.";
        problems = true;
        document.getElementById("errorJS").style.display = "block";
    }
    alert(!(problems));
    return !(problems);
}
函数checkLogin()
{
警报(“此处”);
//document.getElementById(“错误”).style.display=“无”;
var form=document.getElementById(“form1”);
var问题=错误;
document.getElementById(“errorJS”).style.display=“无”;
document.getElementById(“errorJS”).innerHTML=“”;
警报(“测试”);
如果(form.email.value.length<1)
{
document.getElementById(“errorJS”).innerHTML+=“请输入您的电子邮件地址。
”; 问题=正确; document.getElementById(“errorJS”).style.display=“block”; } if(form.pword.value.length<1) { document.getElementById(“errorJS”).innerHTML+=“请输入密码。”; 问题=正确; document.getElementById(“errorJS”).style.display=“block”; } 警惕(!(问题)); 返回!(问题); }

就是这样,该行返回null。谢谢您的回答。

虽然您没有准确定义“无法正常工作”的含义,并且您没有提供错误信息(浏览器肯定会提供给您),但我想说
document.getElementById(“错误”)
返回空值。这意味着您的文档中不存在ID为
errors
的元素


在尝试访问document.getElementById(“errors”)上的属性之前,检查
是否返回了可用的内容将是一个很好的进步。确保您的文档与您假设的一样将是另一个问题。

尽管您没有准确定义“无法正常运行”的含义,并且您没有提供错误信息(浏览器肯定会提供给您),但我认为
document.getElementById(“错误”)
返回空值。这意味着您的文档中不存在ID为
errors
的元素


在尝试访问document.getElementById(“errors”)
上的属性之前,检查
是否返回了可用的内容将是一个很好的进步。确保您的文档与您假设的一样将是另一个问题。

简而言之:它在某个地方抛出了一个错误(假定在注释外的行中),该错误会停止脚本的执行(不会发出警报,也不会停止提交)

此错误似乎是由于
document.getElementById(“errors”)
返回
null
,在尝试访问它的
style
属性时抛出错误。你应该抓住这种情况:

var errors = document.getElementById("errors");
if (errors)
    errors.style.display = "none";

简短:它在某个地方抛出了一个错误(应该在outcommented行中),该错误会停止脚本的执行(不发出警报,不停止提交)

此错误似乎是由于
document.getElementById(“errors”)
返回
null
,在尝试访问它的
style
属性时抛出错误。你应该抓住这种情况:

var errors = document.getElementById("errors");
if (errors)
    errors.style.display = "none";

是否存在
错误
?所有其他的都是
errorJS
您应该在该行看到一个javascript错误,可能是因为元素不存在。这就是javascript的工作原理。。。修复错误,其余代码将执行。
错误
是否存在?所有其他的都是
errorJS
您应该在该行看到一个javascript错误,可能是因为元素不存在。这就是javascript的工作原理。。。修复错误,其余代码将执行。在注释行之后,函数返回true,而不是继续执行所有行,如果其中一个字段留空,则返回false。如果注释行未注释,则返回true,它停止,浏览器继续执行默认操作。@user532493:你怎么说它返回true?在注释行之后,函数返回true,而不是在其中一个字段留空的情况下继续执行这些行并返回false。这是因为注释行未注释。函数不返回true,它停止,浏览器继续执行默认操作。@user532493:你怎么能说它返回true?