diff options
author | Luke Bennett <lbennett@gitlab.com> | 2018-11-14 19:51:39 +0000 |
---|---|---|
committer | Luke Bennett <lbennett@gitlab.com> | 2019-01-22 02:04:32 +0000 |
commit | 88ce491fc981527ec864176e84332ecb7b8ac0ce (patch) | |
tree | 96f3d830af04995f54464f603f48a90199687c79 /app/assets/javascripts/dirty_submit | |
parent | 94d05e3c5ce59448d63ee96e3474b0cd3ef2c995 (diff) | |
download | gitlab-ce-88ce491fc981527ec864176e84332ecb7b8ac0ce.tar.gz |
Fix DirtySubmit handling of checkbox and radio inputs
Most browsers do not fire the "input" event for checkboxes or radios.
Adds a "change" listener to properly trigger these DirtySubmit updates.
Diffstat (limited to 'app/assets/javascripts/dirty_submit')
-rw-r--r-- | app/assets/javascripts/dirty_submit/dirty_submit_form.js | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/app/assets/javascripts/dirty_submit/dirty_submit_form.js b/app/assets/javascripts/dirty_submit/dirty_submit_form.js index d8d0fa1fac4..00e41dd0301 100644 --- a/app/assets/javascripts/dirty_submit/dirty_submit_form.js +++ b/app/assets/javascripts/dirty_submit/dirty_submit_form.js @@ -25,15 +25,16 @@ class DirtySubmitForm { DirtySubmitForm.THROTTLE_DURATION, ); this.form.addEventListener('input', throttledUpdateDirtyInput); + this.form.addEventListener('change', throttledUpdateDirtyInput); this.form.addEventListener('submit', event => this.formSubmit(event)); } updateDirtyInput(event) { - const input = event.target; + const { target } = event; - if (!input.dataset.isDirtySubmitInput) return; + if (!target.dataset.isDirtySubmitInput) return; - this.updateDirtyInputs(input); + this.updateDirtyInputs(target); this.toggleSubmission(); } |