Hatanı anlaman için şunu şuraya bırakayım: https://stackoverflow.com/questions/...-to-do-nothing

Şimdi de özet geçeyim:
Form'a HTML5 ile default olarak action belirtmen gerekmiyor ama action belirtmediğin takdirde sayfayı yenileyecektir. Yani url olmazsa, form aynı url'e submit oluyor.
Ya arkadaşın verdiği gibi onu "#" ye yönlendirebilirsin. Ya da linkteki gibi; javascriptten çağrılan fonksiyonun ardından "return false;" ekleyerek sayfayı yenilemesinin önüne geçebilirsin.
Genel kullanım "return false"'dur.