Skip to content

Commit 2cf7617

Browse files
committed
netteForms: toggle event listeners are added only once
1 parent 4d07ae2 commit 2cf7617

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/assets/netteForms.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
var Nette = {};
3232
var preventFiltering = {};
3333
var formToggles = {};
34+
var toggleListeners = new WeakMap();
3435

3536
Nette.formErrors = [];
3637
Nette.version = '3.0';
@@ -592,7 +593,6 @@
592593
emptyOptional = emptyOptional === undefined ? !Nette.validateRule(elem, ':filled', null, value) : emptyOptional;
593594

594595
var has = false,
595-
handled = [],
596596
handler = function () {
597597
Nette.toggleForm(elem.form, elem);
598598
},
@@ -634,9 +634,9 @@
634634
els = curElem.tagName ? curElem.form.elements : curElem;
635635

636636
for (var i = 0; i < els.length; i++) {
637-
if (els[i].name === name && handled.indexOf(els[i]) < 0) {
637+
if (els[i].name === name && !toggleListeners.has(els[i])) {
638638
els[i].addEventListener('change', handler);
639-
handled.push(els[i]);
639+
toggleListeners.set(els[i], null);
640640
}
641641
}
642642
}

0 commit comments

Comments
 (0)