Javascript拆分为第一条记录创建错误

Javascript拆分为第一条记录创建错误,javascript,Javascript,检查这把小提琴 这里有一个用户数组。如果用户名正确,则允许您进入密码字段。除了在用户名中首次键入第一条记录(用户)时,代码工作正常。 用户记录工作时的条件 当我输入user和space时,然后是tab(在这里它会抛出错误,说它在db中不存在。)然后是backspace,然后是tabit,转到password字段 当我键入user2(或除第一个用户以外的任何其他用户),然后键入user 在返回true之前,需要放置代码以删除readonly。看看做出这样的改变是否能为你解决问题(对我来说似乎是这

检查这把小提琴

这里有一个用户数组。如果用户名正确,则允许您进入密码字段。除了在用户名中首次键入第一条记录(用户)时,代码工作正常。

用户
记录工作时的条件

  • 当我输入user和space时,然后是tab(在这里它会抛出错误,说它在db中不存在。)然后是backspace,然后是tabit,转到password字段
  • 当我键入
    user2
    (或除第一个用户以外的任何其他用户),然后键入
    user

  • 在返回true之前,需要放置代码以删除readonly。看看做出这样的改变是否能为你解决问题(对我来说似乎是这样):


    使用内置的<代码>索引xf()/Cux>,这可能是用C++编写的,它应该为循环提供性能提升。

    它起作用了……但是我不明白为什么它对其余的记录都有效,除了第一个之外?我理解为什么它对于第一个记录不起作用,但我同样不确定为什么它对其他人有效。我更新了我的答案,为您提供了另一种(更短的)撰写该部分的方式。
    for (var j=0; j<names.length; j++){
    if(names[j].localeCompare(x)==0){
            z.removeAttribute("readonly", 0);
            return true;
        }
    }
    
    if(names.indexOf(x) != -1){
        z.removeAttribute("readonly", 0);
        return true;
    }