Merge pull request #13933 from brendandahl/xfa-checkbox2

Fix saving of XFA checkboxes. (bug 1726381)
This commit is contained in:
Tim van der Meij 2021-08-27 22:45:44 +02:00 committed by GitHub
commit 153d058b3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

View File

@ -1265,8 +1265,8 @@ class CheckButton extends XFAObject {
field.items.children[0][$toHTML]().html) ||
[];
const exportedValue = {
on: (items[0] || "on").toString(),
off: (items[1] || "off").toString(),
on: (items[0] !== undefined ? items[0] : "on").toString(),
off: (items[1] !== undefined ? items[1] : "off").toString(),
};
const value = (field.value && field.value[$text]()) || "off";
@ -1296,6 +1296,7 @@ class CheckButton extends XFAObject {
type,
checked,
xfaOn: exportedValue.on,
xfaOff: exportedValue.off,
"aria-label": ariaLabel(field),
},
};

View File

@ -42,7 +42,11 @@ class XfaLayer {
break;
}
html.addEventListener("change", event => {
storage.setValue(id, { value: event.target.getAttribute("xfaOn") });
storage.setValue(id, {
value: event.target.checked
? event.target.getAttribute("xfaOn")
: event.target.getAttribute("xfaOff"),
});
});
} else {
if (storedData.value !== null) {