2025-07-08 21:03:33 +02:00

56 lines
2.3 KiB
JavaScript

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;
}
});
});
});