Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2012, 03:07
Ketzuma
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Comparación grupo de importes

Muy buenas,
Es la primera vez que posteo aquí, pero si he seguido el foro desde hace ya, enhorabuena a los administradores.

Os cuento lo que quiero hacer, básicamente lo que quiero hacer es comparar dos grupos de importes, por ejemplo por un lado (valor1 y valor2), y por otro lado (valor3 y valor4).

Por un lado, solo inicio la comparación en el caso de que este relleno el valor 1 y el valor3 a la vez.

Además, solo quiero que haga la comparación cuando la suma total de los valores 3 y 4 sea superior a la suma total de los valores 1 y 2.

Mi código hasta ahora

Código:
		//Validar suma importe
	function validarImporte(valor12, valor34) 
	{
		var valor1 = Dom.get("valor1").value;
		var valor1Desform = valor1.toString().replace(/\./g,'');
		var valor1Desform1 = valor1Desform.toString().replace(/\,/g,'.');
		var valor2 = Dom.get("valor2").value;
		var valor2Desform = valor2.toString().replace(/\./g,'');
		var valor2Desform1 = valor2Desform.toString().replace(/\,/g,'.');
		
		var valor3 = Dom.get("valor3").value;
		var valor3Desform = valor3.toString().replace(/\./g,'');
		var valor3Desform1 = valor3Desform.toString().replace(/\,/g,'.');		
		var valor4 = Dom.get("valor4").value;
		var valor4Desform = valor4.toString().replace(/\./g,'');
		var valor4Desform1 = valor4Desform.toString().replace(/\,/g,'.');

	
		var valor12 = parseFloat(valor1Desform1) + parseFloat(valor2Desform1);
		var valor34 = parseFloat(valor3Desform1) + parseFloat(valor4Desform1);

		if ( valor12 > 0 && valor34 > 0) {
			if (valor34 > valor12) {
				return "<b>${msg("validation.valorIncorrecto")} <br/>"; 
			}			
		}
		return "";
	}
El problema que tengo es que no tiene porque haber valor en el campo valor2 y valor4, y me devuelve un NaN.
Igual es un desastre el código hasta ahora, pero mis conocimiento en js son algo escasos.

Se me olvidó añadir que los importes están en formato 9.999,99 y por ello los desmormateo para poder trabajar con ellos.

Gracias y saludos,