首页 > 解决方案 > 我无法在 java-script 中获取“else if”部分代码以进行表单验证

问题描述

我正在做一个登录表单,如果输入字段为空,我想声明一条错误消息。我只得到代码的“if”部分,而不是“else if”部分。

var a = document.getElementById('fname');
var b = document.getElementById('pwd');
var c = document.getElementById('demo1');
var d = document.getElementById('demo2');

function func() {
  if (a.value == null || a.value == "") {
    c.innerHTML = 'Fields can\'t be empty';
    a.style.border = "2px solid red";
    return false;
  } else if (b.value == null || b.value == "") {
    d.innerHTML = "Password should be minimum 6 character";
    b.style.border = "2px solid red";
    return false;
  } else {
    true
  }

}
input {
  display: block;
}
<form action="" onsubmit="return func()">
  <input type="text" name="fname" id="fname" placeholder="first name"><br><br>
  <p id="demo1" style="color: red;"></p>
  <input type="password" name="pwd" id='pwd' placeholder='password'><br><br>
  <p id="demo2" style="color: red;"></p>
  <button type="submit" id="smbt"> sumbit</button>
</form>

标签: javascriptsimple-html-dom

解决方案


请尝试以下代码,希望对您有所帮助。

function func() {
    var IsValid = true;
    if (a.value == null || a.value == "") {
        c.innerHTML = 'Fields can\'t be empty';
        a.style.border = "2px solid red";
        IsValid = false;
    }
    if (b.value == null || b.value == "") {
        d.innerHTML = "Password should be minimum 6 character";
        b.style.border = "2px solid red";
        IsValid = false;
    }
    return IsValid;
}

推荐阅读