fix observeInput logic

This commit is contained in:
Bence Pőcze 2023-04-09 02:11:09 +02:00
parent 447a0f00fa
commit d7f5720813
Signed by: bence
GPG Key ID: DC5BD6E95A333E6D

View File

@ -158,12 +158,17 @@ var RVR = {
document.getElementById('cover').style.visibility = 'hidden'; document.getElementById('cover').style.visibility = 'hidden';
}, },
observeInput: function (input, buttonToToggle) { observeInput: function (form, observedInputs) {
var anyChanged = false;
for (var i = 0; i < observedInputs.length; i++) {
var input = form.elements[observedInputs[i]];
if (input.defaultValue !== input.value) { if (input.defaultValue !== input.value) {
buttonToToggle.disabled = false; anyChanged = true;
} else {
buttonToToggle.disabled = true;
} }
}
form.elements.submit.disabled = !anyChanged;
}, },
observeInputsInForm: function (form, observedInputs) { observeInputsInForm: function (form, observedInputs) {
@ -174,12 +179,12 @@ var RVR = {
case 'INPUT': case 'INPUT':
case 'TEXTAREA': case 'TEXTAREA':
input.oninput = function () { input.oninput = function () {
RVR.observeInput(this, form.elements.submit); RVR.observeInput(form, observedInputs);
}; };
break; break;
case 'SELECT': case 'SELECT':
input.onchange = function () { input.onchange = function () {
RVR.observeInput(this, form.elements.submit); RVR.observeInput(form, observedInputs);
}; };
break; break;
} }