我正在嘗試創建一個設置,在這個設置中,您可以輸入郵政編碼,提交表單,然後使用JavaScript檢查郵政編碼的前4個字符是否與某些JSON數據中的郵政編碼匹配,如果匹配,則更改頁面上的價格。這將用於Shopify網站,因此如果有關如何在其中實施它的任何幫助,將會很好。
目前,當我提交表單時,頁面會刷新,但沒有任何反應。
以下是我目前所擁有的,還處於早期階段:
async function checkZones() { // const requestURL = "{{ 'zones.json' | asset_url }}"; // const request = new Request(requestURL); //const response = await fetch(request); // const zones = await response.json(); const zones = [{ "name": "zone 1", "postcodes": [ "test1", "test2", "test3", "test4", "test5", "test6", "test7", "test8", "test9", "test10" ], "cost": 10.8 }, { "name": "zone 2", "postcodes": [ "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test18", "test19", "test20" ], "cost": 16.8 } ] console.log(zones); updatePrice() } function updatePrice(zone) { const postcodeFormInput = document.querySelector('#postcodeForm input[type="text]"'); const postcodes = zone.postcodes; for (const code of postcodes) { if (postcodeFormInput.value.contains(code)) { const productPrice = document.querySelector('#ProductPrice-product-template').textContent; if (code === "test1") { const newPrice = productPrice zone.cost; document.querySelector('#ProductPrice-product-template').innerHTML = newPrice; } } } }0.00
這裡有一些問題
其中一些問題:
將其轉換為數字或0(如果未定義),並使用條件連結運算子
?.
來處理缺少的郵遞區號