From 501a85f77b806d804cf1408bb16065725a4cbb48 Mon Sep 17 00:00:00 2001 From: alok844937-design Date: Wed, 1 Apr 2026 01:32:19 +0530 Subject: [PATCH 1/2] Fix: Add null checks for DOM manipulation --- src/assets/js/script.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/assets/js/script.js b/src/assets/js/script.js index cf847e3..cfd9c36 100644 --- a/src/assets/js/script.js +++ b/src/assets/js/script.js @@ -1,8 +1,9 @@ document.addEventListener("DOMContentLoaded", function (e) { const searchForm = document.getElementById("searchForm"); - searchForm.addEventListener("submit", (e) => { - e.preventDefault(); + if (searchForm) { + searchForm.addEventListener("submit", (e) => { + e.preventDefault(); // capture and process the submission console.log("captured cleanly!"); @@ -257,4 +258,4 @@ document.addEventListener("DOMContentLoaded", function (e) { } return rights; } -}); +}}); From 9825770f9cdeede6df4252d93a55222e3fa63eaf Mon Sep 17 00:00:00 2001 From: alok844937-design Date: Wed, 1 Apr 2026 21:58:52 +0530 Subject: [PATCH 2/2] Fix: Validate and trim input field to prevent empty queries --- src/assets/js/script.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/assets/js/script.js b/src/assets/js/script.js index cfd9c36..55d2711 100644 --- a/src/assets/js/script.js +++ b/src/assets/js/script.js @@ -9,14 +9,26 @@ document.addEventListener("DOMContentLoaded", function (e) { console.log("captured cleanly!"); let form = {}; - form.query = document.getElementById("query").value; - form.commercial = document.getElementById("commercial").checked; - form.modify = document.getElementById("modify").checked; - selectedEngine = document.querySelector( + const queryEl = document.getElementById("query"); + if (queryEl) { + return; + } + form.query = queryEl.value.trim(); + if (!form.query) { + alert("Please enter a search query"); + return; + } + const commercialEl = document.getElementById("commerical"); + const modifyEl = document.getElementById("modify"); + form.commerical = commercialEl ? commercialEl.checked : false; + form.modify = modifyEl ? modifyEl.checked : false; + const selectedEngine = document.querySelector( 'input[name="search-engine"]:checked', ); - form.searchEngine = selectedEngine.value; - form.searchEngineURL = selectedEngine.dataset.url; + if (selectedEngine) { + form.searchEngine = selectedEngine.value; + form.searchEngineURL = selectedEngine.dataset.url; + } // build URL & navigate to link let link = buildURL(form);