Да, вместо того, чтобы прикреплять свою функцию непосредственно к форме через onsubmit и вызывать ее. Вместо этого вы можете добавить прослушиватель событий и запретить использование по умолчанию.
добавление прослушивателя событий
let form = document.querySelector("#generateForm");
form.addEventListener("submit", writeForm, true);
подробнее о слушателях событий здесь:
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
function writeForm(event){
event.preventDefault();
//your function to mutate and send data here...
}
Я советую вам попрактиковаться в отправке данных с использованием vanilla javascript один раз, просто чтобы узнать, как это работает. затем с помощью ajax Jquery сделать это проще. наконец, продвигаясь вперед, используя веб-фреймворк, чтобы упростить задачу.
К вашему сведению, я нашел, что веб-документы MDN - отличный ресурс.