【发布时间】:2017-03-15 23:47:15
【问题描述】:
我的功能有问题。我想通过 JSON 数据进行登录表单验证。我的代码工作正常,但只有当我在刷新后放置正确的数据时。例如,当我输入错误的登录名/密码时,我收到错误,但之后当我输入正确的登录名/密码时,什么都没有发生。
如果您能提供帮助,我将不胜感激。这是我的js代码:
//JSON validation
function validation(username, password){
var alert = document.getElementById("invalid-data");
data = JSON.parse(data);
for (var i=0; i < data.length; i++) {
if (username == data[i].login && password == data[i].password) {
window.open("panel.html", "_self");
} else {
alert.style.display = "block";
}
}
}
//Form validation
function getLoginInfo() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
validation(username, password);
}
var button = document.getElementById("login-button");
button.addEventListener("click", getLoginInfo);
【问题讨论】:
-
您的错误控制台出现什么错误?
-
data在哪里定义?data = JSON.parse(data); -
我的数据是在外部文件-data/users.json中定义的。
-
我收到错误:SyntaxError: Unexpected token o in JSON at JSON.parse (
) 在 HTMLButtonElement.getLoginInfo (main.js:20) 验证 (main.js:4) ) -
一旦你完成
data = JSON.parse(data);一次,它就永远不会再工作了。
标签: javascript html css json validation