fix edycji ajax
This commit is contained in:
		| @@ -72,13 +72,20 @@ | |||||||
|     document.addEventListener("DOMContentLoaded", function() { |     document.addEventListener("DOMContentLoaded", function() { | ||||||
|         // Logika edycji w tabeli |         // Logika edycji w tabeli | ||||||
|         document.querySelectorAll(".edit-btn").forEach(button => { |         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 row = this.closest("tr"); | ||||||
|                 let entryId = this.getAttribute("data-id"); |                 let entryId = this.getAttribute("data-id"); | ||||||
|                 let ipCell = row.querySelector(".ip-address"); |                 let ipCell = row.querySelector(".ip-address"); | ||||||
|                 let hostnameCell = row.querySelector(".hostname"); |                 let hostnameCell = row.querySelector(".hostname"); | ||||||
|                 let saveButton = row.querySelector(".save-btn"); |                 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"); |                 let ipInput = document.createElement("input"); | ||||||
|                 ipInput.type = "text"; |                 ipInput.type = "text"; | ||||||
|                 ipInput.className = "form-control form-control-sm"; |                 ipInput.className = "form-control form-control-sm"; | ||||||
| @@ -97,7 +104,9 @@ document.addEventListener("DOMContentLoaded", function() { | |||||||
|                 this.classList.add("d-none"); |                 this.classList.add("d-none"); | ||||||
|                 saveButton.classList.remove("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 newIp = ipInput.value.trim(); | ||||||
|                     let newHostname = hostnameInput.value.trim(); |                     let newHostname = hostnameInput.value.trim(); | ||||||
|      |      | ||||||
| @@ -121,7 +130,7 @@ document.addEventListener("DOMContentLoaded", function() { | |||||||
|                     .catch(error => { |                     .catch(error => { | ||||||
|                         alert("Wystąpił błąd podczas zapisywania: " + error); |                         alert("Wystąpił błąd podczas zapisywania: " + error); | ||||||
|                     }); |                     }); | ||||||
|             }); |                 }, { once: true });  // ✅ Zapobiega dodaniu wielu eventów do przycisku "Zapisz" | ||||||
|             }); |             }); | ||||||
|         }); |         }); | ||||||
|      |      | ||||||
| @@ -182,4 +191,5 @@ document.addEventListener("DOMContentLoaded", function() { | |||||||
|         }); |         }); | ||||||
|     }); |     }); | ||||||
|     </script> |     </script> | ||||||
|  |      | ||||||
| {% endblock %} | {% endblock %} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Mateusz Gruszczyński
					Mateusz Gruszczyński