@@ -318,27 +318,20 @@ function checkIban() {
318318 var knop = document.getElementById('lp-opslaan-knop');
319319 if (!form || !knop) return;
320320
321- var snapshot = {};
322- form.querySelectorAll('input:not([disabled]), select, textarea').forEach(function(el) {
323- var key = el.name + '||' + el.type;
324- if (el.type === 'checkbox' || el.type === 'radio') {
325- snapshot[key] = el.checked;
326- } else {
327- snapshot[key] = el.value;
328- }
329- });
321+ var velden = Array.from(form.querySelectorAll('input:not([disabled]), select, textarea'));
322+
323+ function waarde(el) {
324+ if (el.type === 'checkbox' || el.type === 'radio') return el.checked;
325+ return el.value.trim();
326+ }
327+
328+ var snapshot = velden.map(waarde);
330329
331330 function isGewijzigd() {
332- var gewijzigd = false;
333- form.querySelectorAll('input:not([disabled]), select, textarea').forEach(function(el) {
334- var key = el.name + '||' + el.type;
335- var huidig = (el.type === 'checkbox' || el.type === 'radio') ? el.checked : el.value;
336- if (snapshot[key] !== huidig) gewijzigd = true;
337- });
338- return gewijzigd;
331+ return velden.some(function(el, i) { return waarde(el) !== snapshot[i]; });
339332 }
340333
341- form.addEventListener('input', function() { knop.disabled = !isGewijzigd(); });
334+ form.addEventListener('input', function() { knop.disabled = !isGewijzigd(); });
342335 form.addEventListener('change', function() { knop.disabled = !isGewijzigd(); });
343336 })();
344337 </script>
0 commit comments