fix edycji ajax

This commit is contained in:
Mateusz Gruszczyński 2025-03-10 23:57:23 +01:00
parent 1ed40e96dd
commit 3d5189d9e3

View File

@ -69,16 +69,23 @@
{% block extra_js %}
{{ super() }}
<script>
document.addEventListener("DOMContentLoaded", function() {
document.addEventListener("DOMContentLoaded", function() {
// Logika edycji w tabeli
document.querySelectorAll(".edit-btn").forEach(button => {
button.addEventListener("click", function() {
button.addEventListener("click", function(event) {
event.preventDefault(); // ✅ Zapobiega przeładowaniu strony
let row = this.closest("tr");
let entryId = this.getAttribute("data-id");
let ipCell = row.querySelector(".ip-address");
let hostnameCell = row.querySelector(".hostname");
let saveButton = row.querySelector(".save-btn");
// Jeśli pola edycji już istnieją, nie duplikuj ich
if (ipCell.querySelector("input") || hostnameCell.querySelector("input")) {
return;
}
let ipInput = document.createElement("input");
ipInput.type = "text";
ipInput.className = "form-control form-control-sm";
@ -97,7 +104,9 @@ document.addEventListener("DOMContentLoaded", function() {
this.classList.add("d-none");
saveButton.classList.remove("d-none");
saveButton.addEventListener("click", function() {
saveButton.addEventListener("click", function(event) {
event.preventDefault(); // ✅ Zapobiega przeładowaniu strony
let newIp = ipInput.value.trim();
let newHostname = hostnameInput.value.trim();
@ -121,7 +130,7 @@ document.addEventListener("DOMContentLoaded", function() {
.catch(error => {
alert("Wystąpił błąd podczas zapisywania: " + error);
});
});
}, { once: true }); // ✅ Zapobiega dodaniu wielu eventów do przycisku "Zapisz"
});
});
@ -180,6 +189,7 @@ document.addEventListener("DOMContentLoaded", function() {
alert("Wystąpił błąd podczas usuwania: " + error);
});
});
});
</script>
});
</script>
{% endblock %}