From 5d0b140af8d08e5af626ae4fbf436016758958bd Mon Sep 17 00:00:00 2001 From: 65160270 <65160270@go.buu.ac.th> Date: Sat, 22 Mar 2025 22:49:33 +0700 Subject: [PATCH] update-address --- shop-routes/order.js | 2 +- views/order-details.ejs | 69 ++++++++++++++++++++--------------------- 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/shop-routes/order.js b/shop-routes/order.js index 2ccff95..df0b481 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 c9ebb37..72c827a 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 -- GitLab