使用JS和JSON以及簡單的HTML表單來更新價格
P粉294954447
2023-08-18 12:38:26
<p>我正在嘗試創建一個設置,在這個設置中,您可以輸入郵政編碼,提交表單,然後使用JavaScript檢查郵政編碼的前4個字符是否與某些JSON數據中的郵政編碼匹配,如果匹配,則更改頁面上的價格。這將用於Shopify網站,因此如果有關如何在其中實施它的任何幫助,將會很好。 </p>
<p>目前,當我提交表單時,頁面會刷新,但沒有任何反應。 </p>
<p>以下是我目前所擁有的,還處於早期階段:</p>
<p><br /></p>
<pre class="brush:js;toolbar:false;">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;
}
}
}
}</pre>
<pre class="brush:html;toolbar:false;"><form onsubmit="checkZones()" id="postcodeForm">
<input type="text">
<button type="submit">Update Costs</button>
</form><span id="ProductPrice-product-template">0.00</span></pre>
<p><br /></p>
這裡有一些問題
其中一些問題:
?.
來處理缺少的郵遞區號