0
나는 배열 객체를 가지고 있으므로 다른 사용자의 추가 사용자 이름과 암호를 추가 할 수 있습니다. 사용자 이름 또는 비밀번호가 존재하지 않으면 자동으로 생성됩니다. 내 배열 객체는 다음과 같이 작동합니다 생각 : https://jsfiddle.net/xkxn54bx/객체에 새 값 추가
HTML : 사용자 정보는 [0] [ "사용자 이름"] 3 jsfiddle 여기에 사용자 1, 사용자 정보는 [1] [ "사용자 이름"]는 사용자 2 등 입니다 :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script src="test.js"></script>
<title>Generation X</title>
</head>
<body>
<form method="post">
<label for="username">Username:</label><input type="text" name="user_name" id="username"><br />
<label for="password">Password:</label><input type="password" name="pass-word" id="password">
<input type="submit" id="submitbutton" value="Access">
</form>
</body>
</html>
JS : 그것은 새로운 객체를 추가 할 때, 올바르게 배열 액세스하는 경우
var userInfo = [
{ username: "admin", password: "test" }
];
function addUser(username, password) {
userInfo[userInfo.length + 1]["username"] = username;
userInfo[userInfo.length + 1]["password"] = password;
}
$(document).ready(function() {
$('#submitbutton').click(function() {
var username = $('#username').val();
var password = $('#password').val();
for (i = 0; i < userInfo.length; i++) {
if (username == '' || password == '') {
alert("All fields are required!");
}
else if (username == userInfo[i]["username"]) {
if (password == userInfo[i]["password"]) {
alert("Welcome");
}
else {
alert("You have entered an invalid password!");
}
}
else {
addUser(username, password);
alert("Account created!");
}
}
});
});
감사합니다. 이 메시지가 나타납니다 : TypeError : userInfo [userInfo.length] 정의되지 않았습니다 –
콘솔에서 userInfo에 대한 값을 볼 수 있습니까? userInfo.length는 어떻습니까? – Sean12
다음과 같이 변수의 길이를 정의했습니다. var userLength = userInfo.length; –