-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscriptjs.js
More file actions
105 lines (88 loc) · 2.66 KB
/
Copy pathscriptjs.js
File metadata and controls
105 lines (88 loc) · 2.66 KB
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
function validateAge(today, dobobj) {
var age = today.getFullYear() - dobobj.getFullYear();
var m = today.getMonth() - dobobj.getMonth();
if (m < 0 || (m === 0 && today.getDate() < dobobj.getDate())) {
age--;
}
return age;
}
let dobelement = document.getElementById("dob");
dobelement.addEventListener("change", () => {
let [y,m,d] = document.getElementById("dob").value.split("-");
let dob = new Date(y,m,d);
let Today = new Date();
age = validateAge(Today, dob);
if (age < 18 || age > 55) {
dobelement.setCustomValidity("age must lie in 18 and 55 years!!!");
return;
} else {
dobelement.setCustomValidity("");
}
});
let form = document.getElementById("user-form");
const retriveEntries = () => {
let entries = localStorage.getItem("userEntry");
if (entries) {
entries = JSON.parse(entries);
} else {
entries = [];
}
return entries;
};
let Entries = retriveEntries();
const displayEntries = () => {
const entries = retriveEntries();
const rows = entries
.map((entry) => {
const name = `<td class="td">${entry.name}</td>`;
const email = `<td class="td">${entry.email}</td>`;
const password = `<td class="td">${entry.password}</td>`;
const dob = `<td class="td">${entry.dob}</td>`;
const acceptTerms = `<td class="td">${entry.acceptTerms}</td>`;
const row = `<tr>${name} ${email} ${password} ${dob} ${acceptTerms}</tr>`;
return row;
})
.join("\n");
let tableDiv = document.getElementById("entrytbale");
tableDiv.innerHTML = `<table>
<tr>
<th class="th">Name</th>
<th class="th">Email</th>
<th class="th">Password</th>
<th class="th">Dob</th>
<th class="th">Accepted terms?</th>
</tr>
${rows}
</table>`;
};
// const saveUserFrom = () => {
const saveUserFrom = (event) => {
event.preventDefault();
let name = document.getElementById("name").value;
let email = document.getElementById("email").value;
let password = document.getElementById("password").value;
let dob = document.getElementById("dob").value;
let acceptTerms = document.getElementById("acceptTerms").checked;
let entry_obj = {
name,
email,
password,
dob,
acceptTerms,
};
Entries.push(entry_obj);
localStorage.setItem("userEntry", JSON.stringify(Entries));
displayEntries();
};
form.addEventListener("submit", saveUserFrom);
displayEntries();
const email = document.getElementById("email");
email.addEventListener("input", () => validate(email));
function validate(ele) {
if (ele.validity.typeMismatch) {
ele.setCustomValidity("The Email is not in the right format!!!");
ele.reportValidity();
} else {
ele.setCustomValidity("");
}
}