Указанное вами поведение в принципе работает нормально, поэтому может быть просто нужно убедиться, что функция, которую вы хотите вызвать, действительно вызывается (и вызывается в соответствующем контексте.)
(Поскольку вы вызывая пользовательские функции вместо фактической отправки формы, вы также можете подумать об изменении ввода submit
на обычные кнопки и, возможно, даже полностью опуская элемент form
.)
const
submit = document.getElementById('submit'),
submit2 = document.getElementById('submit2');
submit.addEventListener('click', getSearch);
submit2.addEventListener('click', getForecast);
function getSearch(){ console.log("searching..."); }
function getForecast(){ console.log("forecasting..."); }
<form id="searching" action="javascript:void(0);">
<label for="search">Search </label><input id="search"/><br><br>
<input type="submit" id="submit" value="Weather"/>
<input type="submit" id="submit2" value="Forecast!"/>
</form>