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,