Итак, у меня есть эта функция, которая добавляет данные в локальное хранилище, а затем другие, которые получают их на другой странице, а затем создают таблицу с новыми элементами, используя JSON и localstorage, но как только эта функция запущена, она не работает больше, и я не знаю, в чем здесь проблема, потому что однажды она работает нормально, но потом перестает работать.
HTML:
<div id="2" class="product_disc">
<b><p class="product_name" style="font-size: 30px;color: #002366;font-weight: 400">T-Shirt ET</p></b>
<p class="price"
style="font-size:2.625 rem;line-height: 1.125 rem color: #002366;font-weight: 400;color:grey;letter-spacing: .1125rem;">
14,99€</p>
<HR size=0.5 style="color: aqua;width: 200px;"></HR>
<button id="xs" onclick="SizeButtonStyle(this)" class="unclicked_size_button"><b>XS</b></button>
<button id="s" onclick="SizeButtonStyle(this)" class="unclicked_size_button"><b>S</b></button>
<button id="m" onclick="SizeButtonStyle(this)" class="unclicked_size_button"><b>M</b></button>
<button id="l" onclick="SizeButtonStyle(this)" class="unclicked_size_button"><b>L</b></button>
<button id="xl" onclick="SizeButtonStyle(this)" class="unclicked_size_button"><b>XL</b></button>
<p>
<button class="adicionar_carrinho" value="Save">Adicionar ao carrinho</button>
</p>
<br>
<br>
<nobr style="color:#002366;letter-spacing: .1125rem;font-weight: 500 ">Artista:</nobr>
<nobr class="artist_name" onclick="artist_page();">Mariana Gomes</nobr>
JS:
var updateTable = function () {
var productos = Object.entries(localStorage)
for (let i = 0; i < localStorage.length; i++) {
var id = JSON.parse(productos[i][1]).currentID
var size = JSON.parse(productos[i][1]).currentSize
console.log(id,size)
$.ajax({
url: 'db.json',
dataType: 'json',
async : false,
success: function(data){
nome = data[JSON.parse(productos[i][1]).currentID].Nome
preco = data[JSON.parse(productos[i][1]).currentID].Preco }
});
console.log(nome)
var table = document.getElementById('table')
table.innerHTML = table.innerHTML + '<div class="rTableRow">\n' +
' <div class="rTableCell">'+nome+'</div>\n' +
' <div class="rTableCell">\n' +
' <p class="size">'+size+'</p></div>\n' +
' <div class="rTableCell">\n' +
' <p class="cart-price">'+preco+'</p></div>\n' +
' <div class="rTableCell"><input style="width:50px;height: 20px;" type="number" class="quantity" name="quantity"\n' +
' min="1" value="1">\n' +
' <button class="btn-danger">Remover</button>\n' +
' </div>\n' +
' </div>'
updateCartTotal()
}
}
updateTable()
function addToCartClicked(event) {
console.log("i was here")
var button = event.target
currentID = button.parentElement.parentElement.id;
var producto = {currentID, currentSize}
if (localStorage.length == 0) {
localStorage.setItem(0, JSON.stringify(producto));
} else {
localStorage.setItem(localStorage.length, JSON.stringify(producto))
}
updateTable()
}