56 lines
2.3 KiB
JavaScript
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;
|
|
}
|
|
});
|
|
});
|
|
});
|