Skip to content

Commit 8c47888

Browse files
committed
In Chrome, <fieldset> elements don't participate in form.elements
1 parent f086d6f commit 8c47888

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

scripts/script.js

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,12 +1140,9 @@ function event_key(evt) {
11401140
return keyCode_map[x];
11411141
} else if ((x >= 48 && x <= 57) || (x >= 65 && x <= 90)) {
11421142
return String.fromCharCode(x);
1143-
} else {
1144-
return "";
11451143
}
1146-
} else {
1147-
return "";
11481144
}
1145+
return "";
11491146
}
11501147
event_key.printable = function (evt) {
11511148
return !nonprintable_map[event_key(evt)]
@@ -12869,12 +12866,9 @@ function prepare_paper_select() {
1286912866
}
1287012867
}
1287112868
function keypress(evt) {
12872-
if (event_key(evt) === " ")
12873-
/* nothing */;
12874-
else if (event_key.printable(evt))
12875-
keyed = now_msec();
12876-
else
12877-
keyed = 0;
12869+
if (event_key(evt) !== " ") {
12870+
keyed = event_key.printable(evt) ? now_msec() : 0;
12871+
}
1287812872
}
1287912873
$(ctl).on("change blur", change).on("keyup", keyup).on("keypress", keypress);
1288012874
}
@@ -13055,10 +13049,13 @@ edit_conditions.checkbox = function (ec, form) {
1305513049
const e = form.elements[ec.formid];
1305613050
return e && e.checked;
1305713051
};
13052+
function fieldset(form, fsname) {
13053+
return form.elements[fsname] || form.querySelector(`fieldset[name="${fsname}"]`);
13054+
}
1305813055
edit_conditions.checkboxes = function (ec, form) {
1305913056
const vs = ec.values;
1306013057
if (vs === false || vs === true || vs == null) {
13061-
const es = form.elements[ec.formid].querySelectorAll("input:checked");
13058+
const es = fieldset(form, ec.formid).querySelectorAll("input:checked");
1306213059
return (vs === false) === (es.length === 0);
1306313060
}
1306413061
for (const v of vs) {
@@ -13068,7 +13065,7 @@ edit_conditions.checkboxes = function (ec, form) {
1306813065
return false;
1306913066
};
1307013067
edit_conditions.all_checkboxes = function (ec, form) {
13071-
const es = form.elements[ec.formid].querySelectorAll("input[type=checkbox]");
13068+
const es = fieldset(form, ec.formid).querySelectorAll("input[type=checkbox]");
1307213069
for (const e of es) {
1307313070
if (!e.checked)
1307413071
return false;

0 commit comments

Comments
 (0)