function edit(id) { let name = document.querySelector('#name'); let price = document.querySelector('#price'); name.value = products[id].name; price.value = products[id].price; document.querySelector(".update").addEventListener('click', update('e',id)); } function update(e,id) { e.preventDefault; let name = document.querySelector('#name'); let price = document.querySelector('#price'); products[id].name = name.value; products[id].price = price.value; showProduct(); }
I want to use preventDefault
in the function, but I could not fix that.
document.querySelector(".update").addEventListener('click', update('e',id));
In this line I send 'e'
for the event. In the update function I’m using like this:
e.preventDefault;
But its not working. How can I fix this problem. If you help me I will be glad.
Advertisement
Answer
you are sending the event as a string.
change this :
function edit(id) { let name = document.querySelector('#name'); let price = document.querySelector('#price'); name.value = products[id].name; price.value = products[id].price; // change document.querySelector(".update").addEventListener('click', e => { update(e,id) }); }