javascript - 输入结果的问题
问题描述
我在输入结果方面遇到了一些问题。我制作了一个按钮,该按钮调用一个检查空输入字段的函数,但是当我单击它时,它只是落到最后一个 if 语句并显示它不是空的。
我已经尝试过制作空格数组、每个输入字段的函数以及包含所有输入变量的函数。他们都没有工作。
这是我正在尝试的:
function Bt() {
//Event Listeners
document.addEventListener("click", Bt);
chk();
}
function chk(n, e, p) {
var n = document.getElementById("Nome");
var e = document.getElementById("Email");
var p = document.getElementById("Pass");
var txt = ""
var B = [10];
[0] = ""
[1] = " "
[2] = " "
[3] = " "
[4] = " "
[5] = " "
[6] = " "
[7] = " "
[8] = " "
[9] = " "
[10] = " "
if (n.length == null || n.length == B) {
txt = "Escr
eva algo no nome"
document.getElementById("Info").innerHTML = txt;
} else txt = "A1";
document.getElementById("Info").innerHTML = txt;
if (e.length == null || n.length == B) {
txt = "Escreva algo no email"
document.getElementById("Info").innerHTML = txt;
} else txt = "A2";
document.getElementById("Info").innerHTML = txt;
if (p.length == null || n.length == B) {
txt = "escreva algo na senha"
document.getElementById("Info").innerHTML = txt;
} else txt = "A3";
document.getElementById("Info").innerHTML = txt;
}
这是我尝试过的:
function check(n, e, p) {
//Var and Gets
var n = document.getElementById("Nome");
var e = document.getElementById("Email");
var p = document.getElementById("Pass");
var txt = "";
//code
if (n, e, p < 1 || n, e, p == "" || n, e, p == null || n, e, p == " ") {
txt = "Estes campos: Nome, Email e Senha
são obrigatórios.
"
document.getElementById("Info").innerHTML = txt;
} else txt = "pronto";
document.getElementById("Info").innerHTML = txt;
}
解决方案
您的代码中有很多错误。首先,function Bt()
不叫。要正确使用addEventListener
,它应该在任何功能之外。像这样使用它:
document.addEventListener("click", Bt);
此外,如果调用chk()
是您的Bt
函数中的唯一代码,那么您可以在单击事件侦听
器中替换Bt
为。chk
document.addEventListener("click", chk);
下一个问题是你的chk(n, e, p)
功能。如果要在函数中声明变量,则无需填写()
函数部分。因此,它应该看起来像这样:chk() {}
在{}
.
你if ()
有同样的重复问题。括号内的条件检查不正确。每个条件都必须单独检查。因此(n, e, p < 1 || n, e, p == "" || n, e, p == null || n, e, p == " ")
,实际上应该是:
(n < 1 && e < 1 && p < 1 || n == "" && e == "" && p == "" || n == null && e == null && p == null || n == " " && e == " " && p == " ")
请注意,我用&&
“and”运算符替换了逗号。它检查每个语句是否为真,如果至少有一个不为真,则移动到 or 运算符 ( ||
) 内的下一个语句块。
这些是我在您提供给我们的第二个代码片段中发现的错误。可能还有更多。
推荐阅读
- c++ - 如何使用 libcurl 形成这些 GET 请求?
- javascript - Axios 不断向错误的端点发送 GET
- sql-server - SQL Server:同步来自不同数据库的表
- python - 使用 file.readline(size) 后忽略读取的其余行
- angular - 如何使用角度(6)和服务器端保护页面
- javascript - 从另一个选项卡返回时幻灯片太快
- android - 每 10-15 秒在后台使用 GPS 是否是一个好习惯?
- python-3.x - 为什么导入“来自 tensorflow.train 导入功能”不起作用
- spring - SpringBoot 持久化具有关系的实体
- javascript - routerlink = "functionName()" 在页面加载时立即调用