Hola tengo el siguiente problema, a traves de codigo genero textbox dinamicos pero necesito que se realicen calculos dentro de esos mismos campos dinamicos pero nose como decirle que realice los calculos en dichos campos dinamicos.
Este es el codigo
Código Javascript
:
Ver original<script type="text/javascript">
<!--
num=0;
function crear(obj) {
num++;
fi = document.getElementById('fiel'); // 1
contenedor = document.createElement('div'); // 2
contenedor.id = 'div'+num; // 3
fi.appendChild(contenedor); // 4
ele = document.createElement('input'); // 5
ele2 = document.createElement('input'); // 5
ele3 = document.createElement('input'); // 5
ele4 = document.createElement('input'); // 5
ele5 = document.createElement('input'); // 5
ele6 = document.createElement('input'); // 5
ele7 = document.createElement('input'); // 5
ele.type = 'text'; // 6
ele.name = 'item[]'; // 6
ele.size = 5;
contenedor.appendChild(ele); // 7
ele2.type = 'text'; // 6
ele2.name = 'cant[]'; // 6
ele2.value = '1'
ele2.size = 5;
contenedor.appendChild(ele2); // 7
ele3.type = 'text'; // 6
ele3.name = 'detalle[]'; // 6
ele3.size = 80;
contenedor.appendChild(ele3); // 7
ele4.type = 'text'; // 6
ele4.name = 'valor[]'; // 6
ele4.size = 6;
ele4.onkeyup = function(){setTotal(this.value)}
//ele4.onfocus = function(){setHiddenNeto(this.value)}
contenedor.appendChild(ele4); // 7
ele5.type = 'text'; // 6
ele5.name = 'desc[]'; // 6
ele5.size = 6;
//ele5.onkeyup = function(){addHiddenNeto(this.value)}
//ele5.onfocus = function(){setHiddenNeto(this.value)}
contenedor.appendChild(ele5); // 7
ele6.type = 'text'; // 6
ele6.name = 'total[]'; // 6
ele6.size = 8;
ele6.onkeyup = function(){addHiddenNeto(this.value)}
ele6.onfocus = function(){setHiddenNeto(this.value)}
contenedor.appendChild(ele6); // 7
ele7.type = 'button'; // 6
ele7.value = 'Borrar'; // 8
ele7.name = 'div'+num; // 8
ele7.id = num;
ele7.onclick = function () {borrar(this.name, this.parentNode)} // 9
contenedor.appendChild(ele7); // 7
}
function borrar(obj, getP) {
P = getP.childNodes[2].value;
if(P == ""){P = 0;}
document.form1.neto.value = parseFloat(document.form1.neto.value)-parseFloat(P);
fi = document.getElementById('fiel'); // 1
fi.removeChild(document.getElementById(obj)); // 10
setNeto();
}
function addHiddenNeto(n){
if(n==""){n=0;}
document.form1.neto.value = document.form1.neto.value-document.form1.hiddenNeto.value;
document.form1.hiddenNeto.value = n;
document.form1.neto.value = roundNumber(eval(parseFloat(document.form1.neto.value)+parseFloat(document.form1.hiddenNeto.value)),2);
setNeto();
}
function setHiddenNeto(n){
if(n==""){n=0;}
document.form1.hiddenNeto.value = n;
setNeto();
}
function setNeto(){
if(document.form1.descuento.value == ""){document.form1.descuento.value = 0;}
if(document.form1.descuento.value != 0){
document.form1.tsi.value = (parseFloat(document.form1.neto.value)*parseFloat(1-(document.form1.descuento.value/100)));
}else{
document.form1.tsi.value = (document.form1.neto.value);
}
//Se tiene que calcular por 0.19 ya que la matematica para 19% es esa.
document.form1.tci.value = roundNumber(parseFloat(document.form1.tsi.value)+(parseFloat(0.19) * parseFloat(document.form1.tsi.value)),0);
}
function roundNumber(rnum, rlength) { // Arguments: number to round, number of decimal places
return Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
}
-->
</script>
entonces lo que necesito es que en el textbox "total" que se genera por codigo se realice el calculo de (cant*precio)-desc de la linea generada.