Hola Nukelino:
La verdad es que de formularios entiendo bastante poco, pero algunas veces he hecho apaños...
Me parece que cuando se hace submit, a la vez se suele refrescar la página.
En una ocasión solucioné el problema usando una página intermedia...
Voy a explicarte la teoría, ya que no tengo mucho tiempo para ponerte un ejemplo.
El secreto está en no tener un submit en el formulario, sino a una página intermedia que recoja los datos del formulario y haga el submit, y después se cierre. Entonces no afectaría el efecto que propone tunait... Algo así:
<form>
<input type=text name=algo value=algo>
<input type=button onclick='window.open('formulario.html","","")'
</form>
luego formulario.html sería algo así:
<html... bla, bla...
<form action=envio.php>
<input type=hidden name=algo>
</form>
... y en la cabecera de esa página algo así:
document.forms[0].algo.value = opener.document.forms[0].algo.value;
document.forms[0].submit();
self.close();
Si no te enteras de algo, dilo, a ver si te podemos ayudar.
Saludos