Non è che in qualche modo esegue il submit e ricarica la pagina?
Prova con
codice:
<form onsubmit="calcolaIMC(); return false;">
al posto dell'onclick.
Oppure
codice:
<form onsubmit="return false;">...<button onCLick="calcolaIMC();" >....