Saludos,
un ejemplo con capa (DIV) sería:
<html>
<head>
<script>
function showhide(s)
{
document.getElementById('div').style.display=s;
}
</script>
</head>
<body onload="showhide('none')">
<div id="div" style="width:102%;height:100%;top:0px;left:0px;position:absolute;display:none;background-color:#888888;color:#000000;font-family:verdana;font-size:20px;text-align:center"><br><br><img src="loading.gif" width="50" height="50"><br><br> P r o c e s a n d o . . .<br><br></div>
<form name="form">
<input type="text" value="">
<input type="submit" value="Enviar" onclick="showhide('block')">
<input type="button" value="Prueba" onclick="showhide('block')">
</form>
</body>
</html>
Le he añadido un botón de prueba para apreciar el efecto. Verás, si el envío se ejecuta rápido y, se redirecciona a otra web, el efecto no se aprecia. Trabajamos a nivel cliente: la ejecución del script quedará fuera de tiempo en el momento de abandonar, al acceder a la otra se extingue el efcto del script; "la página entera pasa a mejor vida".
Espero te sea útil.