javascript - 论坛登录中未捕获的类型错误

标签 javascript arrays if-statement for-loop

我正在为一个学校项目制作一个论坛,一切正常,但我的错误消息不再显示。 }其他{ boxAlertfail.style.display = " block "; boxAlertfail.innerHTML = "走开,失败"; }}” 自从我添加了

}else if (arrayAdmins[i].email == inputLoginMail.value
        && arrayAdmins[i].password == inputLoginPassword.value)
    {

我收到错误“Uncaught TypeError: Cannot read property 'email' of undefined”


function login ()
{

if (checklogin()){
        wallPanel.style.display = "block";
        boxAlert.style.display = "block";
        boxAlert.innerHTML = "Welcome" +  aUsers.value;
        dropMenu.style.display = "block";
        document.getElementById("signinForm").remove();


    }else {
        boxAlertfail.style.display = "block";
        boxAlertfail.innerHTML = "Go away, fail";
    }}


function checklogin(){

var validLogin = false;
for (var i = 0; i < aUsers.length; i++) {
    if (aUsers[i].email == inputLoginMail.value
        && aUsers[i].password == inputLoginPassword.value)
    {
        validLogin = true;
        break;

    }else if (arrayAdmins[i].email == inputLoginMail.value
        && arrayAdmins[i].password == inputLoginPassword.value)
    {
        validLogin = true;
        break;
    }

}
return validLogin;}

最佳答案

因为您正在遍历比 arrayAdmins 数组长度更长的 aUsers.length。

应该是两个独立的循环!

关于javascript - 论坛登录中未捕获的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26041589/

相关文章:

javascript - 如何在不使用 charAt() 的情况下迭代 JavaScript 字符串,或者它是否重要?

javascript - 为什么绑定(bind)不通知变量的更新?

javascript - 按钮点击伪装

java - java比较同一个数组的元素,然后删除该元素

javascript - 尝试根据筛选器选择使用字符串值填充数组,并通过将数组与记录属性的字符串值进行比较来筛选记录

java - Java条件中的 boolean 值

javascript - 基于 Web 的音乐和声音合成 - 调查

actionscript-3 - 在ActionScript(3.0)中干净地合并两个数组?

c - AND 和 OR 运算符 c

Python:elif 还是 new if?