From a4e2a8bb3b876dd2b962eefee08ced7568b56a92 Mon Sep 17 00:00:00 2001 From: iraprabhu05 Date: Sat, 22 Nov 2025 12:45:27 +0530 Subject: [PATCH 1/2] Fix: Preserve submit button value in form submissions with custom events --- tracker/src/custom-events.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tracker/src/custom-events.js b/tracker/src/custom-events.js index e159dc23b99a..a96753e58f33 100644 --- a/tracker/src/custom-events.js +++ b/tracker/src/custom-events.js @@ -292,7 +292,7 @@ export function init() { function submitForm() { if (!formSubmitted) { formSubmitted = true - form.submit() + form.requestSubmit(event.submitter) // ← FIX: preserves the button info } } From 26b519b9de398d80323b89d4eb1cb7942b64d540 Mon Sep 17 00:00:00 2001 From: iraprabhu05 Date: Thu, 11 Dec 2025 21:29:37 +0530 Subject: [PATCH 2/2] Add test for preserving submit button value --- tracker/test/form-submissions.spec.ts | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tracker/test/form-submissions.spec.ts b/tracker/test/form-submissions.spec.ts index 24c5c66d7115..5ad3d10f3b7b 100644 --- a/tracker/test/form-submissions.spec.ts +++ b/tracker/test/form-submissions.spec.ts @@ -299,3 +299,36 @@ test.describe('form submissions feature is enabled', () => { }) }) }) + +test('preserves submit button value for forms with custom events', async ({ page }, { testId }) => { + const { url } = await initializePageDynamically(page, { + testId, + scriptConfig: { ...DEFAULT_CONFIG, formSubmissions: true }, + bodyContent: /* HTML */ ` + + ` + }) + + await expectPlausibleInAction(page, { + action: async () => { + await page.goto(url) + await ensurePlausibleInitialized(page) + await page.click('button[value="Google"]') + }, + shouldIgnoreRequest: [isPageviewEvent, isEngagementEvent], + expectedRequests: [ + { + n: 'login', + u: `${LOCAL_SERVER_ADDR}${url}`, + p: e.objectContaining({ + provider: 'Google' + }) + } + ] + }) +})