-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
73 lines (70 loc) · 2.38 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
let userForm = document.getElementById("user-form");
var userEntries = [];
let errors = [];
const retieveEntries = () => {
let entries = localStorage.getItem("userEntries");
if (entries) {
entries = JSON.parse(entries);
} else {
entries = [];
}
return entries;
};
const displayEntries = () => {
let entries = retieveEntries();
const tbleEntries = entries
.map((entry) => {
const nameCell = `<td class='border px-4 py-2'>${entry.name}</td>`;
const emailCell = `<td class='border px-4 py-2'>${entry.email}</td>`;
const passwordCell = `<td class='border px-4 py-2'>${entry.password}</td>`;
const dobCell = `<td class='border px-4 py-2'>${entry.dob}</td>`;
const acceptTermsCell = `<td class='border px-4 py-2'>${entry.acceptTerms}</td>`;
const row = `<tr>${nameCell} ${emailCell} ${passwordCell} ${dobCell} ${acceptTermsCell}</tr>`;
return row;
})
.join("\n");
const table = ` <table class='table-auto w-full'>
<tr>
<th class='px-4 py-2 '>Name </th>
<th class='px-4 py-2 '>Email </th>
<th class='px-4 py-2 '>Password </th>
<th class='px-4 py-2 '>Dob </th>
<th class='px-4 py-2 '>Accepted terms? </th>
</tr>${tbleEntries}
</table>`;
let details = document.getElementById("user-entries");
details.innerHTML = table;
};
const saveUserForm = (event) => {
event.preventDefault();
const name = document.getElementById("name").value;
const email = document.getElementById("email").value;
const password = document.getElementById("password").value;
const dob = document.getElementById("dob").value;
const acceptTerms = document.getElementById("acceptTerms").checked;
var currentYear = new Date().getFullYear();
var birthYear = dob.split("-");
let year = birthYear[0];
var age = currentYear - year;
console.log({ age, currentYear, birthYear });
if (age < 18 || age > 55) {
document.getElementById("dob").style = "border:1px solid red";
return alert("Your is not under 18 and 55 years");
} else {
document.getElementById("dob").style = "border:none";
const entry = {
name,
email,
password,
dob,
acceptTerms,
};
userEntries = retieveEntries();
userEntries.push(entry);
localStorage.setItem("userEntries", JSON.stringify(userEntries));
displayEntries();
userForm.reset();
}
};
userForm.addEventListener("submit", saveUserForm);
displayEntries();