-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfeedback.js
More file actions
63 lines (53 loc) · 1.83 KB
/
feedback.js
File metadata and controls
63 lines (53 loc) · 1.83 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
// feedback.js
document.addEventListener("DOMContentLoaded", () => {
const stars = document.querySelectorAll("#starRating span");
let selectedStars = 0;
stars.forEach(star => {
star.addEventListener("click", () => {
selectedStars = star.dataset.value;
stars.forEach(s => s.classList.remove("selected"));
for (let i = 0; i < selectedStars; i++) {
stars[i].classList.add("selected");
}
});
});
const feedbackForm = document.getElementById("feedbackForm");
if (feedbackForm) {
feedbackForm.addEventListener("submit", (e) => {
e.preventDefault();
const category = document.getElementById("likedCategory").value;
const feedback = document.getElementById("feedbackText").value.trim();
const name = document.getElementById("userName").value.trim();
const email = document.getElementById("userEmail").value.trim();
// אימות אימייל
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailRegex.test(email)) {
alert("כתובת האימייל אינה תקינה.");
return;
}
if (feedback === "") {
alert("אנא הזן תוכן משוב.");
return;
}
const data = {
category,
stars: selectedStars,
feedback,
name,
email,
time: new Date().toISOString()
};
const stored = JSON.parse(localStorage.getItem("userFeedback") || "[]");
stored.push(data);
localStorage.setItem("userFeedback", JSON.stringify(stored));
alert("תודה על המשוב!");
window.location.href = "index.html"; // אפשר לשנות לעמוד תודה אם יש
});
}
window.submitFeedback = () => {
const form = document.getElementById("feedbackForm");
if (form) {
form.dispatchEvent(new Event('submit'));
}
};
});