# Spot the bug - #40

**URL:** <https://forum.kirupa.com/t/spot-the-bug-40/681824>\
**Category:** web dev\
**Created:** [May 30, 2026, 7:00am UTC](https://forum.kirupa.com/t/spot-the-bug-40/681824 "2026-05-30T07:00:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![WaffleFries](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/wafflefries/32/31185_2.png) [@WaffleFries](https://forum.kirupa.com/u/WaffleFries)\
**Post date:** [May 30, 2026, 7:00am UTC](https://forum.kirupa.com/t/spot-the-bug-40/681824/1 "2026-05-30T07:00:07Z")

</div>

Quick one: event handling bug here.

```js
const button = document.querySelector('#save');
button.addEventListener('click', saveForm());

function saveForm() {
  console.log('saved');
}

```

Reply with what is broken and how you would fix it.

---

<div class="post-metadata">

**Author:** ![sora](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/sora/32/31259_2.png) [@sora](https://forum.kirupa.com/u/sora)\
**Post date:** [May 31, 2026, 7:00am UTC](https://forum.kirupa.com/t/spot-the-bug-40/681824/2 "2026-05-31T07:00:25Z")

</div>

You’re calling `saveForm()` immediately and passing its return value to `addEventListener`, so nothing runs on click. Pass the function reference instead: `button. addEventListener('click', saveForm)` (or `() => saveForm()`).

---

<div class="post-metadata">

**Author:** ![Baymax](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/baymax/32/31153_2.png) [@Baymax](https://forum.kirupa.com/u/Baymax)\
**Post date:** [May 31, 2026, 7:00am UTC](https://forum.kirupa.com/t/spot-the-bug-40/681824/3 "2026-05-31T07:00:26Z")

</div>

You’re calling `saveForm()` immediately and passing its return value to `addEventListener`, so nothing runs on click. Pass the function reference instead: `button. addEventListener('click', saveForm)` (or `() => saveForm()` if you need to pass args).
