Fix: oldValue and newValue should have the same type

This commit is contained in:
eight 2019-06-26 18:04:28 +08:00
parent 88da38ef3a
commit a0004bb6fd

View File

@ -457,15 +457,15 @@ function setupLivePrefs(
} }
function setInputValue(input, value, force = false) { function setInputValue(input, value, force = false) {
let oldValue, newValue; let oldValue, newValue;
const inputValue = input.dataset.valueType === 'number' ? Number(input.value) : input.value;
if (input.type === 'radio') { if (input.type === 'radio') {
const inputValue = input.dataset.valueType === 'number' ? Number(input.value) : input.value;
oldValue = input.checked; oldValue = input.checked;
newValue = input.checked = value === inputValue; newValue = input.checked = value === inputValue;
} else if (input.type === 'checkbox') { } else if (input.type === 'checkbox') {
oldValue = input.checked; oldValue = input.checked;
newValue = input.checked = value; newValue = input.checked = value;
} else { } else {
oldValue = inputValue; oldValue = input.value;
newValue = input.value = value; newValue = input.value = value;
} }
if (force || oldValue !== newValue) { if (force || oldValue !== newValue) {