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;
 
} 
    Código PHP:
   $xajax->registerFunction("cargarItem");
$xajax->registerFunction("datosCargados"); 
     
 



