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

标签 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()
}

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

function regSecurity() {

}

最佳答案

除了输入元素的 neede 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>

关于javascript - 检查 Javascript 中的字段是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54862239/

相关文章:

javascript - 使用 Jquery if 和 else 函数禁用按钮

html - 如何将 flexbox 包装在多行和多列上?

html - 在 Div ID 中设置 Div 类的样式

firebase - 如何处理 Firebase 密码重置电子邮件错误 Flutter

ios - 在 firebase 函数中拥有自己的完成处理程序(自定义类方法)

javascript - SSRS IE8 JavaScript 错误无效字符 ScriptResource.axd

javascript - Firefox for Android - 地址栏与内容重叠。有解决办法吗?

javascript - 使用 javascript 在新窗口中打开重定向操作

javascript - WebView 中的 Android 高亮显示不会消失

javascript - 传输对 OAuth 不可用