practice-time-shopping-list.../scripts/app.js

48 lines
1.9 KiB
JavaScript

document.addEventListener('DOMContentLoaded', function(){
const list = []; //criar array vazio para adicionar os itens nele
const form = document.querySelector('.shopping-form');
const itemInput = document.querySelector('.shopping-form-item-input');
const quantityInput = document.querySelector('.shopping-form-quantity-input');
const incrementButton = document.querySelector('.shopping-form-increment-button');
const decrementButton = document.querySelector('.shopping-form-decrement-button');
incrementButton.addEventListener("click", incrementQuantity);
decrementButton.addEventListener("click", decrementQuantity);
form.addEventListener("submit", addItemToList);
function incrementQuantity(){
const currentValue = Number(quantityInput.value); //era string, passa ser numero
const newValue = currentValue +1; //adiciona +1
quantityInput.value = newValue; //adiciona o num atualizado no input
}
function decrementQuantity(){
const currentValue = Number(quantityInput.value); //era string, passa ser numero
const newValue = currentValue -1; //adiciona +1
if(newValue > 0){
quantityInput.value = newValue; //adiciona o num atualizado no input
}
}
function addItemToList(event){
event.preventDefault(); //evitar o padrao, que é atualizar a pag e passar parametros na url
const itemName = event.target["item-name"].value; //pegar valor do input name
const itemQuantity = event.target["item-quantity"].value; //pegar valor do input quantity
if(itemName !== ""){ //se o input nao estiver vazio, criar um objeto
const item = {
name: itemName,
quantity: itemQuantity,
}; //criar objeto com os parametros recebidos
list.push(item); //adicionar o objeto no array
}
}
})