Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   AJAX + Insert en base de datos + Submit (http://www.forosdelweb.com/f127/ajax-insert-base-datos-submit-583391/)

papulo 06/05/2008 05:28

AJAX + Insert en base de datos + Submit
 
Buenas gente,

el problema que tengo es el siguiente.

En el evento "onclick" de un boton de un formulario, tengo dos funciones, una es la que pasa los elementos del formulario a un script, donde conecto con la base de datos, hago un INSERT y creo un registro nuevo.
La segunda función hace un "submit" de ese formulario y me carga la página correspondiente.

El problema es que a veces me crea el registro correctamente y otras no le da tiempo y ejecuta el "submit" antes de terminar.

¿Como puedo controlar la ejecución de las distintas funciones?

GatorV 06/05/2008 08:13

Re: AJAX + Insert en base de datos + Submit
 
Hola papulo,

Lo que deberías de hacer es en tu evento onReadyStateChange, al comprobar que el registro se inserto en la base de datos, haces entonces un trigger para hacer el submit, ya que si lo haces las dos funciones al mismo tiempo no podrás controlar el orden en que se ejecutan.

Saludos.

papulo 06/05/2008 08:48

Re: AJAX + Insert en base de datos + Submit
 
Apenas ando peleandome con Javascript, no se bien a que evento te refieres o donde/como evaluarlo.

¿Podrías explayarte un poco mas?

PD: Si se al evento al que te refieres, jejeje.

Podrías indicarme un ejemplo ilustrativo y conceptual, solo eso, para que comprenda la idea y la incluya de ahora en adelante.

Gracias.

GatorV 06/05/2008 11:55

Re: AJAX + Insert en base de datos + Submit
 
Hola papulo,

Suponiendo:
Código:

ajax.onreadystatechange = funcion; // primero en tu onreadystatechange (evento de AJAX)

function funcion() {
    if( todo_ok ) { // Checamos si todo esta ok, es decir si el servidor ya te respondio un"ok" de que se hizo la insercion
              form_submit(); // entonces enviamos el form..
    }
}

Saludos.

papulo 07/05/2008 03:03

Re: AJAX + Insert en base de datos + Submit
 
Lo primero, gracias por la respuesta.

Lo segundo, es una de esas respuestas que por sencilla no era capaz de verla, así que se me ha quedado la cara de poker.

Gracias mil, era un detalle que había pasado por alto.

Saludos.


La zona horaria es GMT -6. Ahora son las 17:59.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.