El problema que tengo es que quiere enviar un formulario de forma invisible cuando se descargue un pagina (onunload) o se pulse en un link que llama a la misma función (compra_ok();). El problema es que parece que se carga la página pero se cierra y no envía el formulario. Sí te devuelve al sitio correcto.
En la función inicio lo único que hace es rellenar literales y poner imagenes en partes del form.
Código HTML:
function inicio_ok(){
inicio();
}
Esta función envía el formulario a través de un iframe.
Código HTML:
function enviar_form_pers(){
document.form_pers.action="http://www.dominio.com/pagina.php";
document.form_pers.target="envio_form";
document.form_pers.submit();
}
Esta función envía el formulario y luego te reenvía a la página padre con el GET correspondiente.
Código HTML:
function compra_ok()
{
enviar_form_pers();
window.opener.location.href="http://www.dominio.com/pagina.php?id=123";
window.opener.focus();
window.close();
}
En el body tengo puesto esto:
Código HTML:
<body onload="inicio_ok();" onunload="compra_ok();">
El formulario es:
Código HTML:
<form name="form_pers" method="POST" enctype="application/x-www-form-urlencoded">
<input name="a" type=hidden value="a">
<input name="b" type=hidden value="b">
<input name="c" type=hidden value="c">
<input name="d" type=hidden value="d">
</form>
<iframe name="envio_form" style="position:absolute; top:-1500px;"></iframe>
Y tengo un link que llama a la función compra_ok();
Código HTML:
<a id="aceptar" onclick="compra_ok();"><img src="../images_012137022/images/btn_tpv_aceptar1.gif" id="img_aceptar" /></a>