JavaScript if else 语句来显示 html 标签
JavaScript if else statements to display html label
>我有一个登录表单,如果日志不正确,我正在尝试显示错误消息。
例如;
如果(电子邮件和密码匹配),则将 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'
}
希望它对您有所帮助,或者至少引导您走向正确的方向。顺便说一下,注意对您的问题的评论。
相关文章:
- Brightcove获取/显示HTML中的当前视频标题和描述
- HTML 标记未在 AngularJS ckEditor 中应用,而是在 Ediator 中显示 HTML 元素标记代码
- 使用jqLite隐藏和显示html元素
- 如何在不打断标记的情况下突出显示html字符串中的文本
- JS来显示HTML标记
- 如果javascript打开/关闭,则隐藏和显示html代码
- 用javascript显示html表
- 显示HTML代码块
- Regex有助于突出显示html中匹配文本的角度过滤器
- 为什么WebBrowser控件在保存后不能正确显示HTML
- 如何通过ibmworklight中的sql适配器从db2中检索或显示html页面上的数据?android混合应用程序开发
- 如何使用window.showModalDialog()显示HTML内容
- JavaScript if else 语句来显示 html 标签
- 使用 js 函数显示 HTML 表单的结果
- 如何在不点击的情况下突出显示 HTML 中的文本
- 如何隐藏和显示 html 输入文本和段落
- 使用 javascript 解析和显示 HTML 音频当前时间
- 有什么方法可以在HTML页面中显示HTML代码吗
- 在自动完成jqueryUi中显示html
- 单击并用CTRL+C复制值时高亮显示html表格单元格