diff --git a/shop-routes/order.js b/shop-routes/order.js index 2ccff952a6a9180884bee50d247f0b1bd7b700b9..df0b4817f5beb99471dfdadc784267c528162758 100644 --- a/shop-routes/order.js +++ b/shop-routes/order.js @@ -43,7 +43,7 @@ router.get('/history', isAuthenticated, async (req, res) => { }); // อัปเดตที่อยู่จัดส่งของคำสั่งซื้อ -router.get('/update/:orderId', async (req, res) => { +router.put('/update/:orderId', async (req, res) => { try { const { orderId } = req.params; const { shipping_address } = req.body; diff --git a/views/order-details.ejs b/views/order-details.ejs index c9ebb3751f3806b3b52bb3040f2421c0decc2f89..72c827a493dc4756d675ed38c17144d07f1db98c 100644 --- a/views/order-details.ejs +++ b/views/order-details.ejs @@ -41,39 +41,38 @@ <a href="/order/history" class="back-btn">Back to Order History</a> <a href="/" class="continue-shopping">Continue Shopping</a> </div> + <script> + document.getElementById("edit-btn").addEventListener("click", function() { + document.getElementById("new-address").style.display = "inline"; + document.getElementById("save-btn").style.display = "inline"; + document.getElementById("edit-btn").style.display = "none"; // ซ่อนปุ่มแก้ไข + }); + + document.getElementById("save-btn").addEventListener("click", async function() { + const newAddress = document.getElementById("new-address").value.trim(); + if (!newAddress) { + alert("กรุณากรอกที่อยู่ใหม่"); + return; + } + + const orderId = "<%= order.id %>"; + + const response = await fetch(`/order/update/${orderId}`, { + method: "PUT", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ shipping_address: newAddress }) + }); + + if (response.ok) { + document.getElementById("shipping-address").innerText = newAddress; + document.getElementById("new-address").style.display = "none"; + document.getElementById("save-btn").style.display = "none"; + document.getElementById("edit-btn").style.display = "inline"; // แสดงปุ่มแก้ไขกลับมา + alert("อัปเดตที่อยู่สำเร็จ!"); + } else { + alert("เกิดข้อผิดพลาด!"); + } + }); + </script> </div> -<%- include('partials/footer') %> - -<script> -document.getElementById("edit-btn").addEventListener("click", function() { - document.getElementById("new-address").style.display = "inline"; - document.getElementById("save-btn").style.display = "inline"; - document.getElementById("edit-btn").style.display = "none"; // ซ่อนปุ่มแก้ไข -}); - -document.getElementById("save-btn").addEventListener("click", async function() { - const newAddress = document.getElementById("new-address").value.trim(); - if (!newAddress) { - alert("กรุณากรอกที่อยู่ใหม่"); - return; - } - - const orderId = "<%= order.id %>"; - - const response = await fetch(`/order/update/${orderId}`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ shipping_address: newAddress }) - }); - - if (response.ok) { - document.getElementById("shipping-address").innerText = newAddress; - document.getElementById("new-address").style.display = "none"; - document.getElementById("save-btn").style.display = "none"; - document.getElementById("edit-btn").style.display = "inline"; // แสดงปุ่มแก้ไขกลับมา - alert("อัปเดตที่อยู่สำเร็จ!"); - } else { - alert("เกิดข้อผิดพลาด!"); - } -}); -</script> \ No newline at end of file +<%- include('partials/footer') %> \ No newline at end of file