检查Javascript中的字段是否为空?

时间:2019-02-25 08:34:30

标签: javascript html firebase

我正在尝试检查特定字段是否为空,以便可以使用Firebase对用户进行身份验证。但是,JavaScript似乎跳过了很多代码,并且始终只在屏幕上显示相同的消息。这是我的代码...

let user = document.getElementsByName('username');
let em2 = document.getElementsByName('mail2');
let rem = document.getElementsByName('repeatMail');
let pass2 = document.getElementsByName('password2');
let rpass = document.getElementsByName('repeatPassword');

if ((user === '') && (em2 === '')) {
    alert('Please make sure all fields are filled in correctly. Thank you');
} else if ((rem === '') && (pass2 === '')) {
    alert('Please make sure all fields are filled in correctly. Thank you');
} else if (rpass === '') {
    alert('Please make sure all fields are filled in correctly. Thank you');
} else if ((em2 !== rem) && (pass2 !== rpass)) {
    alert('Please make sure all repeat fields match their parents. Thank you');
} else {
    checkUsername()
}

它将持续不断地跳到if语句的最后else处,即使字段在HTML中确实匹配,无论是什么总是给我设置错误。我可能只是忽略了一些东西,但是我已经为此苦苦挣扎了一段时间。有人知道解决方案吗?顺便说一下,这段代码在一个函数内部,但是我给了它一个唯一的名字,就是一个简单的...

function regSecurity() {

}

1 个答案:

答案 0 :(得分:1)

除了输入元素的Need value属性外,您还需要检查是否为空,然后检查两个所需的输入是否相同。

function checkUsername() {
    console.log('checkUsername');
    return false;
}

function check() {
    let user = document.getElementById('username').value,
        em2 = document.getElementById('mail2').value,
        rem = document.getElementById('repeatMail').value,
        pass2 = document.getElementById('password2').value,
        rpass = document.getElementById('repeatPassword').value;

    if (!user || !em2 || !rem || !pass2 || !rpass) {
        alert('Please make sure all fields are filled in correctly. Thank you');
        return false;
    }
    if (em2 !== rem || pass2 !== rpass) {
        alert('Please make sure all repeat fields match their parents. Thank you');
        return false;
    }
    return checkUsername();
}
<form onsubmit="return check()">
<input type="text" id="username" placeholder="username">
<input type="text" id="mail2" placeholder="mail2">
<input type="text" id="repeatMail" placeholder="repeatMail">
<input type="text" id="password2" placeholder="password2">
<input type="text" id="repeatPassword" placeholder="repeatPassword">
<input type="submit">
</form>

相关问题