Skip to content

Commit 7cfd08a

Browse files
authored
Merge pull request #1187 from Patternslib/scrum-1670--inject-submit-child-element
Scrum 1670 inject submit child element
2 parents fdf0998 + 3821ca8 commit 7cfd08a

File tree

3 files changed

+367
-339
lines changed

3 files changed

+367
-339
lines changed

src/pat/ajax/ajax.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* Copyright 2012-2013 Florian Friesdorf
55
* Copyright 2012-2013 Marko Durkovic
66
*/
7+
import "../../core/polyfills"; // SubmitEvent.submitter for Safari < 15.4 and jsDOM
78
import $ from "jquery";
89
import logging from "../../core/logging";
910
import Parser from "../../core/parser";
@@ -53,8 +54,8 @@ const _ = {
5354
$el.off(".pat-ajax");
5455
},
5556
onClickSubmit(event) {
56-
const el = event.target;
57-
const form = el.closest("form");
57+
const el = event.submitter || event.target;
58+
const form = el.form;
5859
const data = {};
5960
if (el.name) {
6061
data[el.name] = el.value;

src/pat/inject/inject.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -107,25 +107,18 @@ const inject = {
107107
if ($el[0]?.tagName === "FORM") {
108108
events.add_event_listener(
109109
$el[0],
110-
"click",
111-
"pat-inject--form-submit-click",
110+
"submit",
111+
"pat-inject--form-submit",
112112
(e) => {
113113
if (
114-
e.target.matches(
114+
e.submitter?.matches(
115115
"[type=submit], button:not([type=button]), [type=image]"
116116
)
117117
) {
118118
// make sure the submitting button is sent
119119
// with the form
120120
ajax.onClickSubmit(e);
121121
}
122-
}
123-
);
124-
events.add_event_listener(
125-
$el[0],
126-
"submit",
127-
"pat-inject--form-submit",
128-
(e) => {
129122
this.onTrigger(e);
130123
}
131124
);

0 commit comments

Comments
 (0)