Foros del Web » Programando para Internet » Javascript »

Presentar un resultado de una funcion dentro de otra funcion?

Estas en el tema de Presentar un resultado de una funcion dentro de otra funcion? en el foro de Javascript en Foros del Web. Hola nueva vez! Puede alguien echar un vistazo y decirme si no es posible arrojar el resultado de una funcion dentro de unos divs creados ...
  #1 (permalink)  
Antiguo 16/04/2011, 21:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 13 años, 6 meses
Puntos: 6
Presentar un resultado de una funcion dentro de otra funcion?

Hola nueva vez!

Puede alguien echar un vistazo y decirme si no es posible arrojar el resultado de una funcion dentro de unos divs creados dinamicamente por otra funcion?

La funcion "function setOutput()" crea y tabula los resultados recibidos via ajax y desde la misma se llama a la funcion "function calcInpospak()" que calcula la tarifa que le aplica a ese articulo, pero el resultado de "calcInpospak" no logro presentarlo con el resto de los datos tabulados.

Por favor, indiquenme si es posible o no. Pueden ver la pagina en cuestion AQUI

Esta imagen describe la situacion:















Esta es la funcion que presenta los datos:

Código:
function setOutput(){
	
    if(httpObject.readyState == 4){
		var i=0;
		var respuesta = httpObject.responseText.split(",");
		var cont = document.createElement("div");
		var res = document.getElementById("resultadosScan1");
		var id = document.createElement("div");
		var paqNum = document.createElement("div");
		var idUsuario = document.createElement("div");
		var companyOrigen = document.createElement("div");
		var descContenido = document.createElement("div");
		var ciudadOrigen = document.createElement("div");
		var estadoOrigen = document.createElement("div");
		var codPostalOrigen = document.createElement("div");
		var Peso = document.createElement("div");
		var Largo = document.createElement("div");
		var Alto = document.createElement("div");
		var packDepth = document.createElement("div");
		var importeArticulo = document.createElement("div");
		
		var del = document.createElement("img"); //creo el div para eliminar
        del.src = "images/eliminar.gif";
        del.onclick = eliminar;
		
		id.className = "classId";
		paqNum.className = "classpaqNum";
		idUsuario.className = "classidUsuario";
		companyOrigen.className = "classcompanyOrigen";
		descContenido.className = "classdescContenido";
		ciudadOrigen.className = "classciudadOrigen";
		estadoOrigen.className = "classestadoOrigen";
		codPostalOrigen.className = "classcodPostalOrigen";
		Peso.className = "classPeso";
		Largo.className = "classLargo";
		Alto.className = "classAlto";
		packDepth.className = "classPackDepth";
		importeArticulo.className = "importeArticulo";
		
		
		document.getElementById('outputText0').value = httpObject.innerHTML= respuesta[0];
        document.getElementById('outputText1').value = httpObject.innerHTML= respuesta[1];
		document.getElementById('outputText2').value = httpObject.innerHTML= respuesta[2];
		document.getElementById('outputText3').value = httpObject.innerHTML= respuesta[3];
		document.getElementById('outputText4').value = httpObject.innerHTML= respuesta[4];
		document.getElementById('outputText5').value = httpObject.innerHTML= respuesta[5];
		document.getElementById('outputText6').value = httpObject.innerHTML= respuesta[6];
		document.getElementById('outputText7').value = httpObject.innerHTML= respuesta[7];
		document.getElementById('outputText8').value = httpObject.innerHTML= respuesta[8];
		document.getElementById('outputText9').value = httpObject.innerHTML= respuesta[9];
		document.getElementById('outputText10').value = httpObject.innerHTML= respuesta[10];
		document.getElementById('outputText11').value = httpObject.innerHTML= respuesta[11];
		document.getElementById('outputText12').value = httpObject.innerHTML= importe;
		
		
		id.innerHTML = httpObject.innerHTML= respuesta[0];
		paqNum.innerHTML = httpObject.innerHTML= respuesta[1];
		idUsuario.innerHTML = httpObject.innerHTML= respuesta[2];
		companyOrigen.innerHTML = httpObject.innerHTML= respuesta[3];
		descContenido.innerHTML = httpObject.innerHTML= respuesta[4];
		ciudadOrigen.innerHTML = httpObject.innerHTML= respuesta[5];
		estadoOrigen.innerHTML = httpObject.innerHTML= respuesta[6];
		codPostalOrigen.innerHTML = httpObject.innerHTML= respuesta[7];
		Peso.innerHTML = httpObject.innerHTML= respuesta[8];
		Largo.innerHTML = httpObject.innerHTML= respuesta[9];
		Alto.innerHTML = httpObject.innerHTML= respuesta[10];
		packDepth.innerHTML = httpObject.innerHTML= respuesta[11];
		importeArticulo.innerHTML = httpObject.innerHTML= importe;
		
		cont.appendChild(id);
        cont.appendChild(paqNum);
        cont.appendChild(idUsuario);

		cont.appendChild(companyOrigen);
		cont.appendChild(descContenido);
		cont.appendChild(ciudadOrigen);
		cont.appendChild(estadoOrigen);
		cont.appendChild(codPostalOrigen);
		cont.appendChild(Peso);
		cont.appendChild(Largo);
		cont.appendChild(Alto);
		cont.appendChild(packDepth);
		cont.appendChild(importeArticulo);
		
        cont.appendChild(del);
        res.appendChild(cont);
		
		/*sum = sum+parseInt(respuesta[2]);
		impuestos = sum * 0.16 ;
		total = sum + impuestos;
        document.getElementById("suma").value = sum.toFixed(2);
		document.getElementById("impuestos").value = impuestos.toFixed(2);
		document.getElementById("total").value = total.toFixed(2);*/
		
		calcInpospak()
		
    }
	
 
}

Esta es parte de la funcion que arroja el calculo de la tarifa que debiera aplicar al articulo presentado por la funcion anterior:

Código:
function calcInpospak(){
	
	<!--   inicio variables     -->
	var Tasa = 38.00;
	var tarifa1 = 1.90;
	var tarifa2 = 2.00;
	var tarifa3 = 2.10;
	var tarifa4 = 2.60;
	var tarifa5 = 2.80;
	var tarifa6 = 2.95;
	var Peso = document.getElementById('outputText8').value;
	var Largo = document.getElementById('outputText9').value;
	var Ancho = document.getElementById('outputText10').value;
	var Alto = document.getElementById('outputText11').value;
	var pesoVolumetrico = parseInt(Largo) * parseInt(Ancho) * parseInt(Alto) / 166;
	var LarAn = parseInt(Largo) + parseInt(Ancho);
	
	<!--   fin variables     -->


 if (Peso >= 1){
		var importe = Peso * tarifa6 * Tasa;
		document.getElementById('resultado').innerHTML = "$ "+(importe.toFixed(2));
		
		}
  #2 (permalink)  
Antiguo 18/04/2011, 03:55
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Presentar un resultado de una funcion dentro de otra funcion?

var importe = parseFloat(Peso) * parseFloat(tarifa6) * parseFloat(Tasa);

Diria que te debe funcionar pero para operar matematicamente debes hacer la conversión.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 18/04/2011, 07:39
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Presentar un resultado de una funcion dentro de otra funcion?

Hola!

Quimfv: Agradezco tu colaboracion, pero aparentemente no me exprese correctamente. El problema no es que no este obteniendo el resultado, la funcion me devuelve los datos que le pido, el problema es que no logro "insertarlo" dentro del DIV generado dinamicamente, logro presentarlo en otro div, en otro cuadro de texto, etc., pero no en el div generado por la funcion "setOutput", el div "importeArticulo".

Gracias!
  #4 (permalink)  
Antiguo 19/04/2011, 01:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Presentar un resultado de una funcion dentro de otra funcion?

Cita:
Código Javascript:
Ver original
  1. if (Peso >= 1){
  2.         var importe = Peso * tarifa6 * Tasa;
  3.         document.getElementById('resultado').innerHTML = "$ "+(importe.toFixed(2));
  4.        
  5.         }
Cierto no te habia entendido.

Pero en lo que muestras no veo por donde intentas poner el resultado en ese div.

Otra estrategia seria que la segunda funcion retorne el resultado y sea la primera la que modifique el innerHTML del div.

Código Javascript:
Ver original
  1. function calcInpospak(){
  2. ...
  3.  
  4. return valor;
  5. }


Código Javascript:
Ver original
  1. function setOutput(){
  2.  
  3. ...
  4.  
  5. document.getElementById('importeArticulo').innerHTML = calcInpospak();
  6.  
  7. ...
  8.  
  9. }
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 19/04/2011 a las 02:04

Etiquetas: funcion, resultados
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 15:38.