Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/10/2012, 19:01
Avatar de juanito1712
juanito1712
 
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: Validación completa de formulario Javascript

bufff meternos mucho código y no ponerlos los mensajes de error al menos para que podamos ver por donde suenan las campanas sin que tengamos que abrir el dreamweaver y ponernos a currar

y ya en el codigo no se si será alguna movida del foro pero al pegarlo en dw hay unas cuantas comillas que no son las que tocan, son las comillas esas tumbadas fuleras que quedan muy bien en word pero que hacen saltar los compiladores.

alert (“Tu nombre de usuario tiene que tener al menos \n6 caracteres.\n Por favor, inténtelo de nuevo.”);

comillas como esas

y la otra es que tampoco encuentro que le digas al formulario que hacer con todo lo que tiene, le dices que no ejecute ninguna accion y que al enviarlo llame a una funcion la funcion hace lo que tiene que hacer devuelve lo que tiene que devolver y todo listo

tampoco habia visto nunca un return en una llamada de una funcion...
onsubmit="return validarForm(this);"
no se si es que esta mal o simplemente no lo habia viso nunca pero bueno me llama la atencion... pensaba que eso era cosa de las funciones y no de las llamadas; de todos modos aunque no hubiese return en la llamada, llamas a la la funcion devuelve true o false y ahi me da la sensacion que falte un submit


yo nunca he tratado los formularios de esta forma por lo que no te puedo dar una ayuda adaptandome a tu contenido pero te digo como lo haria yo

el input submit lo quitas, y lo cambias por un input button normal el cual en su onclick llame a la funcion que deseas


el onsubmit del formulario lo quitas y en el # del action pones la página que deberia recibir los datos como lo harias si no comprobases nada

y luego en la funcion le quitas el submit y el return lo sustituyes por algo del palo de

if(valorRetorno){
document.forms[0].submit();
}else{
alert("El formulario ha presentado los siguientes errores "+ errores)
}
revisa esa decision que la he escrito un poco a ojo y seguramente no este bien pero algo asi haria yo solo que yo normalmente en lugar de hacer saltar un alert nada mas me encuentro un error creo una variable de error y cada vez que encuentro uno le concateno al contenido actual el texto del error actual y al final del todo pasa lo de la decision que has visto, o hago el submit o le hago saltar el texto con todos los errores de golpe, personalmente me molestan mucho los formularios que me van diciendo los fallos de uno en uno y a cada submit me hacen escribirle una cosa mas... pero para eso deberias modificar esto

alert('Email no válido');
valorRetorno false;

por esto

error+="\n Email no valido";
valorRetorno=false;

a ver si te va bien ;)

Última edición por juanito1712; 20/10/2012 a las 19:07