JavaScript if else 语句来显示 html 标签

JavaScript if else statements to display html label

本文关键字:显示 html 标签 语句 if else JavaScript      更新时间:2023-09-26

>我有一个登录表单,如果日志不正确,我正在尝试显示错误消息。

例如;

如果(电子邮件和密码匹配),则将 validUser 设置为 true。

如果 validUser 等于 true,则重定向到主页

否则将它们重定向回登录并显示 3 条消息之一......

消息是:

"登录不成功",如果电子邮件和密码都不正确

"密码不正确",如果只是密码错误

"电子邮件不正确",如果只是电子邮件有误

是否有可能有一个循环来完成所有这些?我想不通...

也尝试这样的事情:

 if (validUser==false)
{
$("message").show();
}
else if ( ..........)
{
$("passwordmessage").show();
}

我还想在页面上显示一条消息,到目前为止使用它:

document.getElementById('message').style.display = ""

这是我的代码:http://jsfiddle.net/2pkn1qrv/

那么,我如何使用if语句来执行此操作,以及如何使用javascript或jquery正确显示html页面元素?

请询问您是否需要更多代码或需要澄清。

附言这些是我的用户详细信息

var USERS = {
    users: []
};
function User(type, email, password) {
    this.type = type;
    this.email = email;
    this.password = password;
}
var A = new User("rep", "a@a.com", "a");
USERS.users.push(A);
var B = new User("rep", "b@b.com", "b");
USERS.users.push(B);
var C = new User("customer", "c@c.com", "c");
USERS.users.push(C);
var D = new User("grower", "d@d.com", "d");
USERS.users.push(D);
module.exports = USERS;
在这种情况下,

您不会有 3 个条件。 您将检查电子邮件可用性和密码匹配。如果有人失败,您可以显示该消息。我无法测试您的代码,但这将是逻辑,我假设 Users.user[x].email 是您数据库中的电子邮件列表。如果是,很抱歉说这是一种不好的做法。

  validUser = false;
  emailAvailable = false;
  passwordIncorrect = false;
    for (var x in USERS.users) {
         if(!emailAvailable && emailLog === USERS.users[x].email){
                 emailAvailable = true;
           } //Checks whether email is available.
         if(emailAvailable && passwordLog === USERS.users[x].password){
                 passwordIncorrect = true;
                 break;
           } //Checks whether the password is correct for that email.

    } // end of for

     if(!emailAvailable){
    console.log("Email is incorrect");
   }
       else if(emailAvailable && !passwordIncorrect){
console.log("Password is incorrect");}
        else{
             validUser = true;
             console.log("Valid User");
}
if(validUser){
//redirect
}

我认为我的方式值得一试:

首先:创建一个Javascript对象:

 function ruleToCheck(errorRule, errorMsgContainer)
 {
  this.errorCondition = errorRule;
  this.errorMessage = errorMsgContainer;
 }

之后创建一个数组并用您的规则填充它:

 var rulesList = new Array();
 rulesList.push(new ruleToCheck("validUser === true", "message"));
 ...

然后遍历数组:

 var rulesListLength = rulesList.length;
 var index = 0;
 while (index < rulesListLength)
 {
   index++;
   ...
 }

成功的秘诀在于while()循环中强大的eval()功能:

 if (eval(rulesList[index].errorCondition))
 {
     $("#"+rulesList[index].errorMessage).show();
     break;
     //If 'break does not work, use 'index = rulesListLength'
 }

希望它对您有所帮助,或者至少引导您走向正确的方向。顺便说一下,注意对您的问题的评论。