23/10/2009, 00:53
|
| | | Fecha de Ingreso: agosto-2005 Ubicación: Granada
Mensajes: 41
Antigüedad: 19 años, 4 meses Puntos: 0 | |
Respuesta: Funcion que retorna un valor en Prototype Cita:
Iniciado por Miguelpunk22 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! |