Hola tengo el siguiente desarrollo, en el que comprueba el teléfono y código postal. Cuando el teléfono es correcto no comprueba el código postal. En cambio cuando es incorrecto si comprueba el código postal. Cuando el primer campo, que es el teléfono es correcto termina la ejecución del for. He puesto el for, al contrario de mayor a menor para que fuera primero el código postal y hace lo mismo, cuando el código postal es correcto termina la ejecución del for. En resumen, quiero que compruebe los dos input indistintamente y no que cuando uno está bien ya no comprueba el siguiente input.
Os envío este jamón, el cual os agradecería que lo devolvierais curado, ya que le he dado muchas vueltas y no logro conseguir la solución.
Gracias.
function validacion(obj)
{
error="0" // Si encuentra error lo pondrá a "1"
for (i=0;i<obj.form.elements.length;i++)
{
if ((obj. form.elements[i].type) == "text")
{
nombre_input=obj. form.elements[i].name
switch (nombre_input)
{
case "telefono":
validar_telefono(obj. form.elements[i].value)
break;
case "codigoPostal":
validar_codigoPostal(obj. form.elements[i].value)
break;
}
}
}
alert("error")
}
// Validación de teléfono
function validar_telefono(valor)
{
var campo2 = $("input#telefono")
numero_caracteres=valor.length
if ((numero_caracteres<9) || (isNaN(valor)=true))
{
cambio_color_error(campo2)
}
}
// Validación de Código Postal
function validar_codigoPostal(valor)
{
numero_caracteres=valor.length
var campo2 = $("input#codigoPostal")
if ((numero_caracteres<5) || (isNaN(valor)=true))
{
cambio_color_error(campo2)
}
}
// Cambio de color, cuando hay un error en algún input
function cambio_color_error(campo2)
{
campo2.css("border-color", "#f00")
error="1"
}