Вы можете использовать HTML5 localstorage , так как информация, хранящаяся в переменных javascript, сбрасывается при обновлении страницы
Но лучшим способом было бы сохранить эту информацию в бэкэнде (или веб-сервере).через некоторый остальной вызов API.Поэтому, даже если пользователь входит в систему с другого компьютера, он видит свои товары, которые он добавил в корзину.
В идеале вы должны хранить данные в localStorage, а не в HTML - поскольку данные более манипулируют, измените ваш код:
inames = [];
iqtyp = [];
iprice = [];
function bestel() {
load()
inames.push(document.getElementById('artikel').innerHTML);
iqtyp.push(parseInt(document.getElementById('hoeveel').value));
iprice.push(parseInt(document.getElementById('prijs').innerHTML));
displayCart();
save()
}
function displayCart() {
cartdata = '<table><tr><th>Product Name</th><th>Quantity</th><th>Price</th><th>Total</th></tr>';
total = 0;
for (i = 0; i < inames.length; i++) {
total += iqtyp[i] * iprice[i];
cartdata += "<tr><td>" + inames[i] + "</td><td>" + iqtyp[i] + "</td><td>" + iprice[i] + "</td><td>" + iqtyp[i] * iprice[i] + "</td><td><button onclick='delElement(" + i + ")'>Delete</button></td></tr>";
}
cartdata += '<tr><td></td><td></td><td></td><td>' + total + '</td></tr></table>';
document.getElementById('cart').innerHTML = cartdata;
}
function save() {
localStorage.setItem("inames", inames.join("|"))
localStorage.setItem("iqtyp", iqtyp.join("|"))
localStorage.setItem("iprice", iprice.join("|"))
}
function load() {
inames = (localStorage.getItem("inames") || "").split("|")
iqtyp = (localStorage.getItem("iqtyp") || "").split("|")
iprice = (localStorage.getItem("iprice") || "").split("|")
}
Вы также можете добавить обработку исключений при настройке элементов, проверьте здесь: https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem