如果函数中的语句不起作用

If statements in functions not working

由于某些未知原因,checkID 函数中的 if 语句已停止工作,并且无论输入什么输入都只显示 'OK'。我不确定我做错了什么,但有人可以看看我的代码。目前代码似乎只是 运行 函数中的最后一个 if 语句,并且只是最后一条消息 "Ok".

这是我的 HTML:

function begin() {
  var Name = document.forms["Cars"]["Name"].value;
  var NameID = document.forms["Cars"]["NameID"].value;
  var IDName = "";
  var PersonID = "";

  var checklength = Name.length;
  CheckName();
  console.log(checklength, checklength < 100)
  var checkIDlength = NameID.length;
  checkID();
  console.log(checkIDlength, checkIDlength < 100)
  return false;


  function CheckName() {
    if (checklength > 0 && checklength < 21) {
      IDName = "Ok"
    } else {
      IDName = "Invalid Name Length";
    }

    document.getElementById('IDName').innerHTML = IDName;
    return false;
  }

  function checkID() {
    if (checkIDlength != 6) {
      PersonID = "Invalid ID Length"
    }
    document.getElementById('PersonID').innerHTML = PersonID

    if (NameID.indexOf('BR') === 0) {} else {
      PersonID = "Invalid ID Type"
      document.getElementById('PersonID').innerHTML = PersonID

    }
    if (isNaN(NameID.Length != 2)) {
      PersonID = "The Last 2 Digits must be numeric";
    } else {
      PersonID = "OK"
      document.getElementById('PersonID').innerHTML = PersonID
    }
  }
}
<!DOCTYPE html>
<html>

<body>
  <form name="Cars">
    <h1>Car Sales</h1>
    <p>Enter Name</p>
    <input type="text" style="text-transform: uppercase" name="Name"><br>
    <p id="IDName"></p>
    <p>Enter ID</p>
    <input type="text" name="NameID"><br>
    <p id="PersonID"></p>
    <br>
    <button onclick="return begin()">Calculate</button>
  </form>
</body>

看起来我已经通过在你的 IDCheck 函数的 if 语句中添加一些 return false 来完成这个工作 我正在使用 "BR1231" 作为我的测试用例,我不确定是否这是 100% 有效的,但这是我的代码:

    function begin() {
  var Name = document.forms["Cars"]["Name"].value;
  var NameID = document.forms["Cars"]["NameID"].value;
  var IDName = "";
  var PersonID = "";

var checklength = Name.length;
CheckName();
console.log(checklength, checklength < 100)
var checkIDlength = NameID.length;
checkID();
console.log(checkIDlength, checkIDlength < 100)
return false;


function CheckName(){
  if (checklength >0 && checklength <21)
  {
IDName = "Ok"
  }
  else{
    IDName = "Invalid Name Length";
  }

  document.getElementById('IDName').innerHTML = IDName;
  return false;
}


function checkID(){
  if (checkIDlength !=6)
  {
    PersonID = "Invalid ID Length"

 document.getElementById('PersonID').innerHTML = PersonID
 return false;
}

  if (NameID.indexOf('BR') === 0) {
  }
  else {
    PersonID = "Invalid ID Type"
   document.getElementById('PersonID').innerHTML = PersonID
     return false;

}
   if (isNaN(NameID.Length !=2))
  {
   PersonID = "The Last 2 Digits must be numeric";
     return false;

 }
 else{
    PersonID = "OK"
    document.getElementById('PersonID').innerHTML = PersonID

 }

}
}