Вам необходимо объявить counter
вне функции, в противном случае он сбрасывается каждый раз, когда пользователь отправляет форму.
let counter = 0;
form.addEventListener('submit', (e) => { /* Your awesome eventhandler */ });
Это происходит потому, что JavaScript удаляет вашу переменную после завершения функции и повторно объявляет ее при повторном запуске события. Так что на самом деле реинициализирует counter
.
PROTIP : используйте bool
вместо int
, так что вы можете просто
if (messageShowed) { /* Insert some code */ }