Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2011, 22:45
sentnel
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 13 años, 6 meses
Puntos: 6
Funcion eliminar: no logro dar con "var importe"

Hola nuevamente!

En estos ultimos dias estoy haciendo un intensivo en "como volverte loco con javascript", pues le dedico horas y horas y como que no avanzo mucho si no vuelvo aqui y pregunto, suerte tengo que unos cuantos amigos del foro me han hechado mas que una mano, especialmente laratik. Pero ya me da verguenza de tanto preguntar, lo que mas me da es pena no logro captar AUN, se que lo hare, tal vez mas tarde que temprano, el sentido logico del DOM y otras cosas mas, pero se que en algun momento lo vere mas claro que el agua.

Bueno, a mi pregunta actual:

Tengo la funcion eliminar, no logro determinar como obtener el valor de "var importe", o sea, como estructuro el "de donde saco el valor":

Código:
function eliminar() {
     var parent = this.parentNode;
	 var grandParent = parent.parentNode;
	 var importe = ????????? como obtengo esta variable desde calcInpospak????
	 grandParent.removeChild(parent);
	 flete -= importe;
	 document.getElementById('resFlete').value = flete.toFixed(2);
	 
 }
El resultado de "importe" viene de la funcion "calcInpospak":

Código:
if (Peso >= 1){
		var importe = Peso * tarifa6 * Tasa;
		flete += importe;
		document.getElementById('resFlete').value = flete.toFixed(2);
		var f = document.createElement("div");
		f.innerHTML = (importe.toFixed(2));
		f.className = "classAncho";
		cont.appendChild(f);
		var del = document.createElement("img"); //creo el div para eliminar
        del.src = "images/eliminar.gif";
        del.onclick = eliminar;
		cont.appendChild(del);
		//alert(importe);
		}
Se que Laratik tiene la respuesta a esto, es el arquitecto de las funciones, pero imagino que la diferencia entre yo y ustedes es que ustedes SABEN de esto... yo, quedare calvo de esta...

Gracias!




Aqui esta el codigo completo de la pagina:

Código:
function getHTTPObject(){
   if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
   else if (window.XMLHttpRequest) return new XMLHttpRequest();
   else {
      alert("Your browser does not support AJAX.");
      return null;
   }
}
 
 
function eliminar() {
     var parent = this.parentNode;
	 var grandParent = parent.parentNode;
	 var importe = parseInt(parent.childNodes[7].resFlete);
	 grandParent.removeChild(parent);
	 flete -= importe;
	 document.getElementById('resFlete').value = flete.toFixed(2);
	 
 }
 
 
 // Calculos de sumas e impuestos
 
var sum = 0;
var impuestos = 0;
var total = 0;
var flete = 0;
 
// Change the value of the outputText field
 
function setOutput(){
	
    if(httpObject.readyState == 4){
		var i=0;
		var respuesta = httpObject.responseText.split(",");
		cont = document.createElement("div");
		var res = document.getElementById("resultadosScan1");
		
		var paqNum = document.createElement("div");
		var companyOrigen = document.createElement("div");
		var descContenido = document.createElement("div");
		var Peso = document.createElement("div");
		var Largo = document.createElement("div");
		var Alto = document.createElement("div");
		var Ancho = document.createElement("div");
		
		
		
		paqNum.className = "classpaqNum";
		companyOrigen.className = "classcompanyOrigen";
		descContenido.className = "classdescContenido";
		Peso.className = "classPeso";
		Largo.className = "classLargo";
		Alto.className = "classAlto";
		Ancho.className = "classAncho";
		
        document.getElementById('outputText1').value = httpObject.innerHTML= respuesta[1];
		document.getElementById('outputText3').value = httpObject.innerHTML= respuesta[3];
		document.getElementById('outputText4').value = httpObject.innerHTML= respuesta[4];
		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];
		
		paqNum.innerHTML = httpObject.innerHTML= respuesta[1];
		companyOrigen.innerHTML = httpObject.innerHTML= respuesta[3];
		descContenido.innerHTML = httpObject.innerHTML= respuesta[4];
		Peso.innerHTML = httpObject.innerHTML= respuesta[8];
		Largo.innerHTML = httpObject.innerHTML= respuesta[9];
		Alto.innerHTML = httpObject.innerHTML= respuesta[10];
		Ancho.innerHTML = httpObject.innerHTML= respuesta[11];
		
        cont.appendChild(paqNum);
        cont.appendChild(companyOrigen);
		cont.appendChild(descContenido);
		cont.appendChild(Peso);
		cont.appendChild(Largo);
		cont.appendChild(Alto);
		cont.appendChild(Ancho);

        res.appendChild(cont);
		
		sum = sum+parseInt(respuesta[2]);
		impuestos = sum * 0.16 ;
		total = sum + impuestos;
        document.getElementById("resFlete").value = sum.toFixed(2);
		document.getElementById("impuestos").value = impuestos.toFixed(2);
		document.getElementById("total").value = total.toFixed(2);
		
		calcInpospak()
		
    }
	
}
 
// Implement business logic    
function doWork(){    
	var text = document.getElementById('inputText').value;
    if(text.length == 13) {
		httpObject = getHTTPObject();
		if (httpObject != null) {
			httpObject.open("GET", "engine.php?inputText="
							+text, true);
			httpObject.send(null); 
			httpObject.onreadystatechange = setOutput;
			document.getElementsByName("testForm").item(0).reset();
			document.getElementById('inputText').focus();
			

		}
		
	}
 
}
 
var httpObject = null;
 
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;
 
	
		
	if (Peso >= 1){
		var importe = Peso * tarifa6 * Tasa;
		flete += importe;
		document.getElementById('resFlete').value = flete.toFixed(2);
		var f = document.createElement("div");
		f.innerHTML = (importe.toFixed(2));
		f.className = "classAncho";
		cont.appendChild(f);
		var del = document.createElement("img"); //creo el div para eliminar
        del.src = "images/eliminar.gif";
        del.onclick = eliminar;
		cont.appendChild(del);
		//alert(importe);
		}
	else {
		// no ha ingresado ningun valor
		}
			
}

Última edición por sentnel; 19/04/2011 a las 23:15