输入结果有问题

时间:2019-09-22 14:33:10

标签: javascript html

我在输入结果方面遇到一些问题。我已经制作了一个按钮,该按钮调用了一个检查空输入字段的函数,但是当我单击它时,它会落在最后的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;


}

1 个答案:

答案 0 :(得分:0)

您的代码中有很多错误。首先,不调用function Bt()。要正确使用addEventListener,它应该在任何函数之外。像这样使用它: document.addEventListener("click", Bt);

此外,如果调用chk()是函数Bt中的唯一代码,则可以在点击事件监听器中将Bt替换为chkdocument.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 == " ")请注意,我用&&(“和”运算符)替换了逗号。它检查每个语句是否为真,如果至少一个语句为非真,则移至or运算符(||)中的下一个语句块。

这些是我在您提供给我们的第二个代码段中发现的错误。可能还有更多。