Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/12/2009, 04:43
monxas
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Control de formulario con js

a ver, lo que yo hago en todos mis formularios es esto:
esta es la etiqueta del form:
Código HTML:
Ver original
  1. <form id="FCosulta" method="post" action="datasave.php" onSubmit="return ValidarFormulario(this);">

y en un aparte (yo lo pongo dentro del head lo ultimo) hago la funcion ValidarFormulario:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function ValidarFormulario(f){
  3. if(f.nombre.value==""){
  4. alert("Por favor, introduzca su nombre");
  5. f.nombre.focus();
  6. return false;
  7. }
  8. if(f.ape.value==""){
  9. alert("Por favor, introduzca sus apellidos");
  10. f.ape.focus();
  11. return false;
  12. }
y ahi puedes añadir en cada campo la validacion que quieras con esa misma estrcutura.
nombre y ape son los id y los name de los inputs.

los de ahi arriba son para ver si estan vacios.

si quieres comprobar que sea un numero seria usando la funcion isNaN (is Not a Number):

Código Javascript:
Ver original
  1. if(isNaN(f.edad.value)){
  2. alert("Por favor, introduzca un valor numerico");
  3. f.edad.focus();
  4. return false;
  5. }
y para la longitud hay otra que es el .length:

Código Javascript:
Ver original
  1. if(f.telefono.value.length<>9){
  2. alert("debe ser de 9 cifras");
  3. f.edad.focus();
  4. return false;
  5. }
aqui compruebo que sea de 9 cifras exactamente, pero si tiene que ser menor de x cambiando el if al simbolo > 9 lo tienes.

y luego tienes que cerrar la funcion:

return true;
}
</script>



entonces:

si tienes los inputs nombre ape y edad la funcion seria:


Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function ValidarFormulario(f){
  3. if(f.nombre.value==""){
  4. alert("Por favor, introduzca su nombre");
  5. f.nombre.focus();
  6. return false;
  7. }
  8. if(f.ape.value==""){
  9. alert("Por favor, introduzca sus apellidos");
  10. f.ape.focus();
  11. return false;
  12. }
  13. if(f.edad.value.length>2){
  14. alert("la edad debe ser menor de 100");
  15. f.edad.focus();
  16. return false;
  17. }
  18. return true;
  19. }
  20. </script>