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:
El resultado de "importe" viene de la funcion "calcInpospak":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); }
Código:
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...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); }
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 } }