Grego, скорее всего, у тебя происходит переход на другую страницу. Если у тебя ничего на прописано в атрибуте action тега form, тогда переход осуществляется на ту же страницу. То есть для тебя это выглядит, как появление предупреждения и исчезновение, а на самом деле страница просто перезагрузилась.
Если ты пишешь в теге формы onsubmit, то надо писать onsubmit = "return validate();". И если у тебя форма не прошла валидацию, то последней строчкой функции выдавать return false; тогда процесс будет останавливаться. То есть это как по клике на ссылку, чтобы браузер никуда не переходил, надо писать
<a href="#" onclick="myFunc(); return false;">Link</a>