我在输入结果方面遇到了一些问题。我做了一个按钮来调用一个检查空输入字段的函数,但是当我单击它时,它只是落到最后一个 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
函数中的唯一代码,则可以在 click 事件侦听器中将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 运算符 (||
( 内的下一个语句块。
这些是我在你给我们的第二个代码片段中发现的错误。可能还有更多。