Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ejecutar función dentro de función con XAJAX

Estas en el tema de Ejecutar función dentro de función con XAJAX en el foro de Frameworks JS en Foros del Web. Hola muchachos, tengo un problema al ejecutar una funcion (previamente declarada), dentro de otra funcion. Ambas son php, y las llamo mediante AJAX. Sé que ...
  #1 (permalink)  
Antiguo 03/12/2008, 07:24
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 8 meses
Puntos: 3
Ejecutar función dentro de función con XAJAX

Hola muchachos, tengo un problema al ejecutar una funcion (previamente declarada), dentro de otra funcion. Ambas son php, y las llamo mediante AJAX.

Sé que la primera (la que contiene la llamada a la otra) se ejecuta, porque la probé comentando la llamada a la otra función, pero cuando le saco las // no funciona ni una ni la otra.

El código es este:

Código PHP:
function datosCargados($form){
  
  
$rowDatos explode($form);
  
  
$salida "<table>";
  
$salida .= "<tr>";
  
$salida .= "<th colspan=\"2\"><span style=\"color: #FFF;\">Datos cargados</span></th>";
  
$salida .= "<tr>";
  
$salida .= "<td>Código del producto:</td>";
  
$salida .= "<td>".$rowDatos['pro_codi']."</td>";
  
$salida .= "</tr>";
  
$salida .= "<tr>";
  
$salida .= "<td>Nombre del producto:</td>";
  
$salida .= "<td>".$rowDatos['pro_desc']."</td>";
  
$salida .= "</tr>";
  
$salida .= "<tr>";
  
$salida .= "<td>Descripción del producto:</td>";
  
$salida .= "<td>".$rowDatos['pro_desc']."</td>";
  
$salida .= "</tr>";
  
$salida .= "<tr>";
  
$salida .= "<td>Precio del producto:</td>";
  
$salida .= "<td>".$rowDatos['pro_prec']."</td>";
  
$salida .= "</tr>";
  
$salida .= "<tr>";
  
$salida .= "<td>Alícuota IVA:</td>";
  
$salida .= "<td>".$rowDatos['pro_tiva']."</td>";
  
$salida .= "</tr>";
  
  
$respuesta = new xajaxResponse(); 
  
$respuesta->assign("datosCargados","innerHTML",$salida);
  
  return 
$respuesta;

}



function 
cargarItem($form){

  include(
"includes/conexion.php");
  
$query "Insert into productos (pro_codi,pro_nomb,pro_desc,pro_prec,pro_tiva) values ('".$form['pro_codi']."','".$form['pro_nomb']."','".$form['pro_desc']."','".$form['pro_prec']."','".$form['pro_tiva']."')";
  
  if(
mysql_query($query)){
    
$salida "La inserción se realizó correctamente";
  } else {
    
$salida "La inserción ha fallado";
  }
  
$respuesta = new xajaxResponse(); 
  
$respuesta->assign("respuesta","innerHTML",$salida);
  
  
$form implode($form);
  
  
xajax_datosCargados($form);
  
  return 
$respuesta;


Obviamente las funciones están registradas.

Código PHP:
$xajax->registerFunction("cargarItem");
$xajax->registerFunction("datosCargados"); 
Desde ya gracias.
__________________
-- Franco D. Ocaranza
-- [email protected]
-- http://www.jmqv.com.ar/
  #2 (permalink)  
Antiguo 04/12/2008, 08:33
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años
Puntos: 14
Respuesta: Ejecutar función dentro de función con XAJAX

la funcion xajax_datosCargados no es una funcion de php sino de javascript y debes llamarla como tal

$respuesta->script("xajax_datosCargados(".$form.")");

Suerte
__________________
My path is lit by my own fire, I only go where I desire
  #3 (permalink)  
Antiguo 08/01/2009, 05:34
 
Fecha de Ingreso: noviembre-2007
Mensajes: 7
Antigüedad: 17 años
Puntos: 0
Respuesta: Ejecutar función dentro de función con XAJAX

Gracias! Tenía el mismo problema y con ésto funciona a la perfección!
  #4 (permalink)  
Antiguo 12/11/2010, 02:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 3
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Ejecutar función dentro de función con XAJAX

Hola buenos días, tengo un poblema.. a ver si me pueden ayudar.

Resulta que yo necesito que al apretar un botón de un formulario, en dicha página se agregue una capa "cargando" y se llame a otra función que ejecute la lógica. He probado lo siguiente y funciona pero a veces me va con retraso u otras me carga las funciones al revés, etc..

Empecemos. Tengo un botón de formulario con el siguiente código:
Código HTML:
onclick="xajax_espera(), xajax_enviar_configuracion(xajax.getFormValues('form_maquina'))"
Seguidamente tengo las siguientes funciones en PHP-XAJAX. Esta primera es la que se ejectura en primer lugar y pone la capa de "cargando" visible.
Código PHP:
function espera($IN_form) {
$retorno = new xajaxResponse();
$retorno->assign('overlay''style.display''');
return 
$retorno;    

Y luego tengo esta otra...
Código PHP:
function enviar_configuracion($IN_form) {
$retorno = new xajaxResponse();
//HAGO LO QUE TENGA QUE HACER...
sleep(1);
$retorno->assign('overlay''style.display''none');
return 
$retorno;

Funcionar funciona pero a veces se adelanta la función "enviar_configuracion" a la función "espera" o va en retraso. Supongo que se hace llamando desde una función a otra y cambiar el onclick del botón a una función pero no se como hacerlo y lo que he probado no funciona... Podrían ayudarme???. He probado a poner un sleep(1) dentro de la función "enviar_configuracion" y parece mejorar un poco aunque a veces casca.

Muchas gracias por la ayuda. Uso Xajax 0.5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.