feat(app.js): implementa functions para criar objeto

This commit is contained in:
Cainã Milech 2022-11-08 11:06:39 -03:00
parent ca780f5169
commit d654a393f0
2 changed files with 50 additions and 0 deletions

View File

@ -38,5 +38,7 @@
</form>
</section>
</main>
<script src="scripts/app.js"></script>
</body>
</html>

48
scripts/app.js Normal file
View File

@ -0,0 +1,48 @@
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
}
}
})