Мне нужна помощь. Я строю интернет-магазин. А в интернет-магазине у вас есть корзина, в которую пользователь может добавлять товары. Но если мне нужно получить список товаров в корзине на другую страницу, например, когда я хочу, чтобы на других HTML страницах была сделана переоценка заказа, где я хочу отобразить корзину и окончательную цену. Как мне это сделать? Спасибо за любые предложения. Вы видите, что важная часть кода:
HTML (корзина и первый товар на странице):
<div>
<h1>Košík</h1>
<hr>
<div class="kosik-produkty">
</div><hr>
<div class="kosik-celkem">
<strong class="kosik-celkem-nadpis">Celkem:</strong>
<span class="kosik-celkem-cena">0,-</span><hr>
</div>
<button class="button-prejit-k-vyberu-doruceni" type="button">Přejít k výběru doručení</button>
</div>
</div>
</header>
<section>
<div class="eshop-produkty">
<div class="eshop-produkt">
<span class="eshop-nazev-produktu"><p><strong>"18 93"</strong></p></span>
<img class="eshop-fotka-produktu" src="Produkty/Samolepka_1.jpg" height='250px' width='280px'>
<div class="eshop-detaily-produktu">
<span class="eshop-cena-produktu">10,-</span>
<button class="button-pridat-produkt-do-kosiku" type="button">Přidat do košíku</button>
</div>
</div>
Javascript (добавление в корзину + обновление окончательной цены):
function pridejPoKliknutiDoKosiku(event) {
var button = event.target
var produkt = button.parentElement.parentElement
var nazevProduktu = produkt.getElementsByClassName('eshop-nazev-produktu')[0].innerText
var cena = produkt.getElementsByClassName('eshop-cena-produktu')[0].innerText
var zdrojObrazku = produkt.getElementsByClassName('eshop-fotka-produktu')[0].src
pridejProduktDoKosiku(nazevProduktu, cena, zdrojObrazku)
updateCelkoveCeny()
}
function pridejProduktDoKosiku(nazevProduktu, cena, zdrojObrazku) {
var radekKosik = document.createElement('div')
radekKosik.classList.add('kosik-radek')
var kosikProdukty = document.getElementsByClassName('kosik-produkty')[0]
var NazvyProduktu = kosikProdukty.getElementsByClassName('kosik-nazev-produktu')
for (var i = 0; i < NazvyProduktu.length; i++) {
if (NazvyProduktu[i].innerText == nazevProduktu) {
alert("Tento produkt je již obsažen v košíku.")
return
}
}
var radekKosikKontent = `
<div class="kosik-produktu kosik-sloupec">
<img class="kosik-fotka-produktu" src="${zdrojObrazku}" width="112" height="100"><br>
<span class="kosik-nazev-produktu">${nazevProduktu}</span>
</div>
<span class="kosik-cena kosik-sloupec">${cena}</span>
<div class="kosik-pocet kosik-sloupec">
<input class="kosik-pocet-input" type="number" value="1" min="1">
<button class="button-remove" type="button">Odstranit</button>
</div><br>`
radekKosik.innerHTML = radekKosikKontent
kosikProdukty.append(radekKosik)
radekKosik.getElementsByClassName("button-remove")[0].addEventListener('click', odstranitProduktyVKosiku)
radekKosik.getElementsByClassName('kosik-pocet-input')[0].addEventListener('change', pocetZmenen)
}
function updateCelkoveCeny() {
var produktyKosikContainer = document.getElementsByClassName('kosik-produkty')[0]
var radkyKosik = produktyKosikContainer.getElementsByClassName('kosik-radek')
var celkovaCena = 0
for (var i = 0; i < radkyKosik.length; i++) {
var radekKosik = radkyKosik[i]
var cenaElement = radekKosik.getElementsByClassName('kosik-cena')[0]
var pocetElement = radekKosik.getElementsByClassName('kosik-pocet-input')[0]
var cena = parseFloat(cenaElement.innerText.replace(',-', ''))
var pocet = pocetElement.value
celkovaCena = celkovaCena + (cena * pocet)
}
document.getElementsByClassName('kosik-celkem-cena')[0].innerText = celkovaCena + ",-"
}