document.addEventListener("DOMContentLoaded", function () { // Gestione del tracking document.querySelectorAll(".go-btn").forEach((button) => { button.addEventListener("click", async function () { const rowIndex = this.getAttribute("data-row"); const awbInput = document.querySelector( `input[name="rows[${rowIndex}][awb_number]"]`, ); const carrierSelect = document.querySelector( `select[name="rows[${rowIndex}][carrier]"]`, ); const trackingResult = document.querySelector( `.tracking-info[data-row="${rowIndex}"] .tracking-result`, ); const trackingHidden = document.querySelector( `input[name="rows[${rowIndex}][tracking_info]"]`, ); const trackingNumber = awbInput.value.trim(); const carrierCode = carrierSelect.value; if (!trackingNumber) { alert("Inserisci un numero AWB valido!"); return; } try { trackingResult.textContent = "Caricamento..."; this.disabled = true; const formData = new FormData(); formData.append("tracking_number", trackingNumber); formData.append("courier_code", carrierCode); const response = await fetch("fetch_tracking_info.php", { method: "POST", body: formData, }); const result = await response.json(); if (!result.success) throw new Error(result.message); const trackingText = `Date: ${result.deliveryDate}, Signed by: ${result.signedBy}, Courier: ${result.carrierName}`; trackingResult.textContent = trackingText; trackingHidden.value = JSON.stringify({ deliveryDate: result.deliveryDate, signedBy: result.signedBy, carrierName: result.carrierName, }); } catch (error) { console.error("Errore:", error); trackingResult.textContent = "Errore: " + error.message; trackingHidden.value = ""; } finally { this.disabled = false; } }); }); });