Skip to content

Commit 153d058

Browse files
Merge pull request #13933 from brendandahl/xfa-checkbox2
Fix saving of XFA checkboxes. (bug 1726381)
2 parents b0929dc + 6d2193a commit 153d058

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/core/xfa/template.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1265,8 +1265,8 @@ class CheckButton extends XFAObject {
12651265
field.items.children[0][$toHTML]().html) ||
12661266
[];
12671267
const exportedValue = {
1268-
on: (items[0] || "on").toString(),
1269-
off: (items[1] || "off").toString(),
1268+
on: (items[0] !== undefined ? items[0] : "on").toString(),
1269+
off: (items[1] !== undefined ? items[1] : "off").toString(),
12701270
};
12711271

12721272
const value = (field.value && field.value[$text]()) || "off";
@@ -1296,6 +1296,7 @@ class CheckButton extends XFAObject {
12961296
type,
12971297
checked,
12981298
xfaOn: exportedValue.on,
1299+
xfaOff: exportedValue.off,
12991300
"aria-label": ariaLabel(field),
13001301
},
13011302
};

src/display/xfa_layer.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@ class XfaLayer {
4242
break;
4343
}
4444
html.addEventListener("change", event => {
45-
storage.setValue(id, { value: event.target.getAttribute("xfaOn") });
45+
storage.setValue(id, {
46+
value: event.target.checked
47+
? event.target.getAttribute("xfaOn")
48+
: event.target.getAttribute("xfaOff"),
49+
});
4650
});
4751
} else {
4852
if (storedData.value !== null) {

0 commit comments

Comments
 (0)