From a780c9ce7d7fedb93012e7270059f8daeead384c Mon Sep 17 00:00:00 2001 From: AshGDS <8880610+AshGDS@users.noreply.github.com> Date: Thu, 26 Oct 2023 16:12:02 +0100 Subject: [PATCH] Fix bug when forms with data-ga4-form-no-answer-undefined are submitted When data-ga4-form-no-answer-undefined exists, it sets the text to undefined. However straight after that, it was trying to call .toLowerCase(), so the GA4 JS crashes on submit of these search forms. --- .../analytics-ga4/ga4-form-tracker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-tracker.js b/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-tracker.js index 091f76c757..c52b1a6b40 100644 --- a/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-tracker.js +++ b/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-tracker.js @@ -46,7 +46,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {}; var formData = this.getInputValues(formInputs) data.text = data.text || this.combineGivenAnswers(formData) || this.useFallbackValue - if (data.action === 'search') { + if (data.action === 'search' && data.text) { data.text = data.text.toLowerCase() data.text = window.GOVUK.analyticsGa4.core.trackFunctions.removeLinesAndExtraSpaces(data.text) }