diff --git a/src/core_views.js b/src/core_views.js
index 2411b05..b5507e4 100644
--- a/src/core_views.js
+++ b/src/core_views.js
@@ -222,13 +222,13 @@ export function renderClassesView(deps) {
@@ -282,12 +282,15 @@ export function renderClassesView(deps) {
renderView();
});
- document.getElementById("classEditForm")?.addEventListener("submit", (event) => {
- event.preventDefault();
+ const commitClassEdit = () => {
if (!editingClass) {
return;
}
- const form = new FormData(event.currentTarget);
+ const formNode = document.getElementById("classEditForm");
+ if (!(formNode instanceof HTMLFormElement)) {
+ return;
+ }
+ const form = new FormData(formNode);
const cleaned = String(form.get("name") || "").trim();
if (!cleaned) {
setFormError("classEditError", t("validation.required_name"));
@@ -298,7 +301,14 @@ export function renderClassesView(deps) {
setSelectedClassEditId(null);
saveState();
renderView();
+ };
+
+ document.getElementById("classEditForm")?.addEventListener("submit", (event) => {
+ event.preventDefault();
+ commitClassEdit();
});
+
+ document.getElementById("classEditSave")?.addEventListener("click", commitClassEdit);
}
export function renderDriversView(deps) {
@@ -372,7 +382,7 @@ export function renderDriversView(deps) {
@@ -459,12 +469,15 @@ export function renderDriversView(deps) {
renderView();
});
- document.getElementById("driverEditForm")?.addEventListener("submit", (event) => {
- event.preventDefault();
+ const commitDriverEdit = () => {
if (!editingDriver) {
return;
}
- const form = new FormData(event.currentTarget);
+ const formNode = document.getElementById("driverEditForm");
+ if (!(formNode instanceof HTMLFormElement)) {
+ return;
+ }
+ const form = new FormData(formNode);
const cleanedName = String(form.get("name") || "").trim();
const cleanedClassId = String(form.get("classId") || "").trim();
const cleanedBrand = String(form.get("brand") || "").trim();
@@ -492,7 +505,14 @@ export function renderDriversView(deps) {
setSelectedDriverEditId(null);
saveState();
renderView();
+ };
+
+ document.getElementById("driverEditForm")?.addEventListener("submit", (event) => {
+ event.preventDefault();
+ commitDriverEdit();
});
+
+ document.getElementById("driverEditSave")?.addEventListener("click", commitDriverEdit);
}
export function renderCarsView(deps) {
@@ -562,7 +582,7 @@ export function renderCarsView(deps) {
@@ -643,12 +663,15 @@ export function renderCarsView(deps) {
renderView();
});
- document.getElementById("carEditForm")?.addEventListener("submit", (event) => {
- event.preventDefault();
+ const commitCarEdit = () => {
if (!editingCar) {
return;
}
- const form = new FormData(event.currentTarget);
+ const formNode = document.getElementById("carEditForm");
+ if (!(formNode instanceof HTMLFormElement)) {
+ return;
+ }
+ const form = new FormData(formNode);
const cleanedName = String(form.get("name") || "").trim();
const cleanedBrand = String(form.get("brand") || "").trim();
const cleanedTp = String(form.get("transponder") || "").trim();
@@ -674,5 +697,12 @@ export function renderCarsView(deps) {
setSelectedCarEditId(null);
saveState();
renderView();
+ };
+
+ document.getElementById("carEditForm")?.addEventListener("submit", (event) => {
+ event.preventDefault();
+ commitCarEdit();
});
+
+ document.getElementById("carEditSave")?.addEventListener("click", commitCarEdit);
}