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

Funcion que retorna un valor en Prototype

Estas en el tema de Funcion que retorna un valor en Prototype en el foro de Frameworks JS en Foros del Web. Tengo esta funcion Ajax-prototype: Código: function RecalcularImporte(idguia,idproducto,cantidad){ new Ajax.Request ('facturacion.php?op=RecalcularImporte', { method: 'POST', parameters: {idguia: idguia,idprod: idproducto,cantidad: cantidad}, onSuccess: function(transport){ var impor = transport.responseText.evalJSON(); var ...
  #1 (permalink)  
Antiguo 22/10/2009, 17:55
 
Fecha de Ingreso: junio-2009
Ubicación: Lima
Mensajes: 84
Antigüedad: 14 años, 11 meses
Puntos: 1
Funcion que retorna un valor en Prototype

Tengo esta funcion Ajax-prototype:

Código:
function RecalcularImporte(idguia,idproducto,cantidad){

new Ajax.Request ('facturacion.php?op=RecalcularImporte', {
  method: 'POST',
  parameters: {idguia: idguia,idprod: idproducto,cantidad: cantidad},
    onSuccess: function(transport){
       var impor = transport.responseText.evalJSON();
       var imp = parseFloat(impor.importe);
       return imp;
     }
});
esta funcion devuelve un resultado que lo proceso en una funcion javascript

Código:
     var ids = totalIds.sin();
    
    var impor = 0;
    var i=0;
    var impo = new Array;
    
    while(i<ids.length){
     
	  var canti = ObtenerCantFact(ids[i]);
	  var im = RecalcularImporte(idguia,ids[i],canti);
	  
	  alert(im);
	  	 impo[i] = im; 
      
     i++;    	                
    }
        return impo;
el problema es que siempre me devuelve "undefined" y no se como puedo hacer para que me devuelva el valor real.

De antemano les agradesco su ayuda
  #2 (permalink)  
Antiguo 23/10/2009, 00:53
Avatar de nflamel  
Fecha de Ingreso: agosto-2005
Ubicación: Granada
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Funcion que retorna un valor en Prototype

Cita:
Iniciado por Miguelpunk22 Ver Mensaje
Tengo esta funcion Ajax-prototype:

Código:
function RecalcularImporte(idguia,idproducto,cantidad){

new Ajax.Request ('facturacion.php?op=RecalcularImporte', {
  method: 'POST',
  parameters: {idguia: idguia,idprod: idproducto,cantidad: cantidad},
    onSuccess: function(transport){
       var impor = transport.responseText.evalJSON();
       var imp = parseFloat(impor.importe);
       return imp;
     }
});
esta funcion devuelve un resultado que lo proceso en una funcion javascript

Código:
     var ids = totalIds.sin();
    
    var impor = 0;
    var i=0;
    var impo = new Array;
    
    while(i<ids.length){
     
	  var canti = ObtenerCantFact(ids[i]);
	  var im = RecalcularImporte(idguia,ids[i],canti);
	  
	  alert(im);
	  	 impo[i] = im; 
      
     i++;    	                
    }
        return impo;
el problema es que siempre me devuelve "undefined" y no se como puedo hacer para que me devuelva el valor real.

De antemano les agradesco su ayuda
Necesitas hacer algo tal que así.

Código:
function RecalcularImporte(idguia,idproducto,cantidad){
  var imp;
  new Ajax.Request ('facturacion.php?op=RecalcularImporte', {
    method: 'POST',
    parameters: {idguia: idguia,idprod: idproducto,cantidad: cantidad},
      onSuccess: function(transport){
         var impor = transport.responseText.evalJSON();
         imp = parseFloat(impor.importe);
     }
  });
  return imp;
}
Ten en cuenta que no eres tú quien va a llamar al onSuccess, sino prototype. Por lo tanto el valor que retorna está fuera el contexto en el que actualmente ejecutas la llamada AJAX.

Un saludo!
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 02:21.