Hola
Cita:
Iniciado por javier55
Lo he pulido como me habéis indicado, pero no funciona, es decir, con los 4 campos iniciales funciona ok, pero algo me dejo, ya que cuando compruebo todo el formulario con if anidados, se me queda colgado,
Por cierto por que he de poner function valida_envia(frm), en lugar del nombre del formulario "formulario" ??
Primero, te falta llamar a la función al sumitar el form
Cita: <form name="formulario" onsubmit="return valida_envia(this)">
Segundo,
frm es argumento que se le pasa, puedes escribir lo que quieras (
a o
campos o ,,,). Si te fijas en como se llama al form, se le pasa el argumento "
this" que viene a ser como "
this.form", por lo tanto no es necesario pasarle el nombre ni id
Tercero, ¿qué quieres decir con que se te "
queda colgado"?
Cuarto, no hace falta que use "
else" con cada condicional, puedes hacer algo como
Cita: if(campo == 0) {
//lo que sea
return false;
}
if(otrocampo == 0) {
//lo que sea
return false;
}
if(ultimocampo == 0) {
//lo que sea
}else {
return true;
}
Por último has de cuidar como recoger los valores de los campos. Esto,
nombre = frm.nombre.value.length; es correcto pero es mas practico esto otro
nombre = frm.nombre; ya que después vas a usar
focus
Por cierto, deberías de usar expresiones regulares para hacer una validación mas completa, ya que la cadena "12345" es válida para el campo nombre, apellido, etc.
Suerte