Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

// META: script=./resources/targetted-form.js
test(t => {
const form = populateForm('<input required><input type=submit>');
t.add_cleanup(() => {
form.previousElementSibling.remove();
form.remove();
});
const submitter = form.querySelector('input[type=submit]');
let invalid = form.querySelector('[required]');
let targets = [];
const listener = e => targets.push(e.target.localName);
form.addEventListener("invalid", t.step_func(listener));
form.oninvalid = t.step_func(listener);
invalid.addEventListener("invalid", t.step_func(listener));
invalid.oninvalid = t.step_func(listener);
submitter.click();
assert_array_equals(targets, ["input", "input"]);
}, "invalid event is only supported for form controls");