Un input di tipo button di base non fa niente. Sei tu che devi fargli fare qualcosa attraverso il codice js.
Un input di tipo image o submit, invece, di base invia il form dentro cui si trova, per cui se non vuoi che lo faccia devi fare restituire false alla funzione che gestisce l'evento.