si attiva al submit perchè stai cambiando pagina, l'evento non distingue la differenza, quindi io cambierei il pulsante di submit così

<input type="submit" ... onclick="window.onbeforeunload = function() { }" />