Foros del Web » Programando para Internet » Javascript »

Control de formulario con js

Estas en el tema de Control de formulario con js en el foro de Javascript en Foros del Web. Buenas, el problema es que tengo un formulario en un archivo .php y quiero controlar que no se inserten en la base de datos campos ...
  #1 (permalink)  
Antiguo 22/12/2009, 21:35
Avatar de TwiScript  
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años
Puntos: 0
Pregunta Control de formulario con js

Buenas,
el problema es que tengo un formulario en un archivo .php y quiero controlar que no se inserten en la base de datos campos en blanco!. Para ello decidí utilizar javascript de modo que sea más ágil. El problema es que no sé como hacerlo el formulario sería así:

Código HTML:
<form action="datasave.php" method="post" enctype="multipart/form-data" name="data">

<input name="main-mail" type="text" maxlength="64">
<input name="password" type="password" maxlength="50">
<input name="sec-mail" type="text" maxlength="64">
<textarea name="motivo" cols="40" rows="6"></textarea>
<input name="enviar" type="submit" value="enviar">
<input name="reset" type="reset" value="borrar">

</form> 
Como podría hacerlo me dan alguna idea?...se agradece desde ya .
Salu2, son lo+.
  #2 (permalink)  
Antiguo 22/12/2009, 23:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Control de formulario con js

Hola:

Sobre validaciones de formularios puedes encontrar info en esta página. El abc de los formularios... pero simplificando se pone en el form algo así:
<form onsubmit="return validar(this)"...

y en validar recorres los campos que quieras chequear y devuelves false si no pasa la validación.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 23/12/2009, 04:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 15 años
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>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:54.