Hola:
Si usas un botón del tipo submit, vas a lanzar el envío del formulario, así que deberías cancelarlo, y tiene el inconveniente que esa cancelación puede cancelarse (o sea que todo sigue su curso), si hay algún tipo de error, así que tal vez sea preferible un botón genérico (type="button")... de todos modos, con un botón submit debe´rias modificar tanto la llamada, desde el mismo tag form, y anteponiendo la palabra return, indicando que se espera un valor lógico, y en la función terminar con return false, o poner ese return false en una instrucción aparte.
Saludos