Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2010, 07:57
MarianEte
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Problema al sumar campos con value de Select

Hola a todos, antes que nada les quiero agradecer la enorme utilidad que brinda la comunidad, estoy empezando a programar y realmente muchas respuestas de acá me sirven para aprender de mis errores.

Lamentablemente leyendo de todos lados e incluso en este foro no encuentro la solución a un problema de un Javascript que tengo y que sirve para hacer algo asi como un pedido y que te vaya mostrando Subtotal y Total.

Paso a comentarles:

Código HTML:
<script type="text/javascript">
function Sumar(){
      interval = setInterval("calcula()",1);
}
function calcula(){
	var vcantidad=document.getElementsByName('cantidad[]');
	var vprecio_u=document.getElementsByName('precio[]');
	var vrubro=document.getElementsByName('rubro[]');	
	var subtotal=0;
	var totalidad=0;
	i=0;
	for (var obj in document.getElementsByName('total_p[]')){
	 if (i<document.getElementsByName('cantidad[]').length){
	document.getElementsByName('total_p[]')[i].value=parseFloat(vcantidad[i].value)*parseFloat(vprecio_u[i].value)*1.07+parseInt(vrubro[i].value)*parseFloat(vcantidad[i].value);
	  subtotal+=parseFloat(vcantidad[i].value)*parseFloat(vprecio_u[i].value);
  	  totalidad=parseFloat(vcantidad[i].value)*parseFloat(vprecio_u[i].value)*1.07+parseFloat(vcantidad[i].value)*parseFloat(vrubro[i].value);
	  }
	  i++;
	  }
	  
	  document.autoSumForm.Total.value =  (parseFloat(totalidad) * 1);
	  document.autoSumForm.subtot.value = (subtotal * 1.07);
	  document.autoSumForm.Adelanto.value = (parseFloat(document.autoSumForm.Total.value) * 0.2);
	  
}

</script> 
Lo que hace esto es que cuando colocas en el campo cantidad y precio un numero, los multiplica, da un subtotal con un 7% de interés y además toma el valor de un Select llamado Rubro que le adiciona a ese subtotal X precio + la cantidad de productos que haya elegido.

Un ejemplo:
2 en cantidad
100 en precio
Subtotal va a dar: 214 (es 100 x 2 + 7%)

Luego tenes un Select con varias opciones que según la que le elijas, le suma cantidad de productos elegidos + el value.
Por ejemplo:
Select value: 10
Total va a dar: 214 + (10 value * 2 cantidad) = 234 y lo tira en otro campo llamado Total en el mismo IF.

El tema es cuando quiero tener un campo que vaya mostrando el Total GENERAL y no de cada producto, ahi saliendo del IF el valor de rubro[i].value me dice que es NaN y haga lo que haga el resultado me sigue tirando que es NaN.

Espero puedan ayudarme!

Un abrazo,
Matias.