<?php
/* ... SQL EXECUTION TO UPDATE DB ... */
?>
<form method = "post"
action = "<?=$_SERVER['php_self']?>"
onSubmit= "window.close();">
...
<input type="submit" value="submit" />
<input type="reset" value="reset" />
</form>
Me gustaría cerrar la página después de enviar el formulario. Después de ejecutar el código anterior la página se cierra después de hacer clic en el botón Enviar, pero el SQL no se ejecuta.
¿Alguien puede ayudarme? Gracias de antemano.
<?php
/* ... SQL EXECUTION TO UPDATE DB ... */
echo "<script>window.close();</script>";
?>
y Quitar el window.close()
del evento onsubmit
del formulario
Si tienes que usar la misma página que la acción, no puedes usar `onSubmit="window.close();"ya que cerrará la ventana antes de que se reciba la respuesta. Tiene que emitir dinámicamente un fragmento JS que cierre la ventana después de procesar los datos SQL. Sin embargo, sería mucho más elegante utilizar otra página como acción del formulario.
Esto se debe a que el evento onsubmit
se activa antes de que se envíe el formulario.
Elimine su onSubmit
y emita ese JavaScript en su script PHP después de haber procesado la petición. Ahora mismo está cerrando la ventana y cancelando la petición a su servidor.