14/01/2013, 08:40
|
| | | Fecha de Ingreso: julio-2006 Ubicación: Yakarta
Mensajes: 73
Antigüedad: 18 años, 5 meses Puntos: 1 | |
Respuesta: Calculos de campos dinamicos (php+js) Muchas gracias emprear, ya di con una solucion que me funciona perfectamente, y es la siguiente por si alguien tiene el mismo problema, incluso dejo como poner los datos con 2 decimales, que no se envie con enter y que al tocar tab se seleccionen solo los campos editables, espero sirva de ayuda:
(perdonen que esta con los "echo" de php pero copie y pegue de mi codigo)
function calcular(cual)
{
caja=document.forms["sumar"].elements;
subtotal=Number(caja["subtotal"+cual].value);
cantidad=Number(caja["cantidad"+cual].value);
lista=Number(caja["lista"+cual].value);
dcto=Number(caja["descuento"+cual].value)/100;
total_unitario=lista-(lista*dcto);
total_final=total_unitario*cantidad;
total_unitario=total_unitario.toFixed(2);
caja["subtotal"+cual].value=total_unitario;
total_final=total_final.toFixed(2);
caja["total"+cual].value=total_final;
}
function pulsar(e) {
tecla = (document.all) ? e.keyCode :e.which;
return (tecla!=13);
y en los input:
echo '<td width=40><input name="cantidad'.$l.'" type="text" value=1 onkeyup="calcular('.$l.')" onClick="this.select()" tabindex="'.(($l*2)+1).'" onkeypress="return pulsar(event)" size="8" maxlength="8" /></td><td width=15>'.$unidad_vta_pedido.'</td>';
echo '<td width=40><input type="text" name="lista'.$l.'" id="lista'.$l.'" value="'.$lista_precio_decimales.'" readonly="readonly" style="border:0" onkeypress="return pulsar(event)" size="8" maxlength="8" /></td>';
echo '<td width=40><input type="text" name="descuento'.$l.'" id="descuento'.$l.'" value="0" onkeyup="calcular('.$l.')" onClick="this.select()" tabindex="'.($l*2+2).'" onkeypress="return pulsar(event)" size="8" maxlength="8" /></td>';
echo '<td width=40><input type="text" name="subtotal'.$l.'" id="subtotal'.$l.'" value="'.$lista_precio_decimales.'" onkeyup="calcular('.$l.')" readonly="readonly" style="border:0" onkeypress="return pulsar(event)" size="8" maxlength="8" /></td>';
echo '<td width=40><input type="text" name="total'.$l.'" id="total'.$l.'" value="'.$lista_precio_decimales.'" readonly="readonly" style="border:0" onkeypress="return pulsar(event)" size="8" maxlength="8" /></td>';
$l es una variable de for que va desde 0 hasta un numero variable
__________________ Una mujer en bicicleta, con sombrero de paja, es la mas flagrante violación a las leyes de la aerodinámica Corralon de materiales
Última edición por sergiolimo.; 14/01/2013 a las 08:50 |