Foros del Web » Programando para Internet » Javascript »

validación formulario

Estas en el tema de validación formulario en el foro de Javascript en Foros del Web. hola, buenas tardes, resulta que he confeccionado un formulario mediante javascript en el que he incorporado mediante este lenguaje de programacion una funcion para realizar ...
  #1 (permalink)  
Antiguo 10/01/2013, 07:07
 
Fecha de Ingreso: noviembre-2012
Ubicación: Monzón
Mensajes: 157
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación validación formulario

hola, buenas tardes, resulta que he confeccionado un formulario mediante javascript en el que he incorporado mediante este lenguaje de programacion una funcion para realizar ciertas comprobaciones de los elementos del formulario antes de realizar el envío.
Tengo un servidor de prueba pero el problema es que no se que poner en 'action=#', para poder realizar la comprobacion..
No se si se puede enviar directamente a una direccion de correo solo para ver si funciona el formulario o que exactamente.
me pueden ayudar? saludos...

Última edición por fmiguelcapel; 10/01/2013 a las 07:13
  #2 (permalink)  
Antiguo 10/01/2013, 07:41
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: validación formulario

si la comprobación es en javascript, en el action no necesitás poner nada, tenés que utilizar algún evento en un elemento que dispare la función

tradicionalmente eso se hace con el evento onsubmit

Código HTML:
Ver original
  1. <form action="x.php" method="post" onsubmit="return validar();">

lee
http://www.forosdelweb.com/f13/valid...3/#post4213498

http://www.forosdelweb.com/f13/forma...visto-1019038/

hay muchos más ejemplos en FDW, hacé una búsqueda
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 10/01/2013, 09:17
 
Fecha de Ingreso: noviembre-2012
Ubicación: Monzón
Mensajes: 157
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación Respuesta: validación formulario

ya puse el evento; o sea que tengo tambien que hacer un archivo php para poder comprobar que el formulario funciona correctamente?
  #4 (permalink)  
Antiguo 10/01/2013, 10:18
 
Fecha de Ingreso: noviembre-2012
Ubicación: Monzón
Mensajes: 157
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación Respuesta: validación formulario

si no he entendido mal me dices que no hace falta que ponga nada en 'action' para comprobar mediante javascript que el formulario funciona perfectamente;
entonces me puedes decir si la funcion que hice para poner ciertas condiciones en los elementos del formulario funciona bien? saludos...

function validacion(){
valor = document.getElementById("nombre").value;
if(valor==null || valor.length==0 || /^\s+$/.test(valor)){
alert('No se puede dejar vacío');
return false;
}
valor = document.getElementById("apellido1").value;
if(valor==null || valor.length==0 || /^\s+$/.test(valor)){
alert('No se puede dejar vacío');
return false;
}
valor = document.getElementById("apellido2").value;
if(valor==null || valor.length==0 || /^\s+$/.test(valor)){
alert('No se puede dejar vacío');
return false;
}
valor = document.getElementById("telefono").value;
if( isNaN(valor) ) {
alert('Introduce un valor numérico');
return false;
}
valor = document.getElementById("email").value;
if( !(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)/.test(valor)) ) {
alert('La dirección de email no es válida');
return false;
}
valor = document.getElementById("mensaje").value;
if(valor==null || valor.length==0 || /^\s+$/.test(valor)){
alert('Debes de dejar tu mensaje');
return false;
}
elemento = document.getElementById("aceptar_condiciones");
if( !elemento.checked ) {
alert('Debe aceptar las condiciones');
return false;
}
return true;
}
  #5 (permalink)  
Antiguo 10/01/2013, 12:11
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: validación formulario

Aclaremos algunos conceptos,
cuando envías un form html tradicional, acción a la que se denomina "submit", estás pasando los valores de todos aquellos campos que contengan un "name" a una url que está definida en el atributo "action"
Código HTML:
Ver original
  1. <form action="x.php" method="post">
  2. <input type="text" name="nombre" value="" />
  3. <input type="submit" name="procesar" value ="enviar" />
  4. </form>

hasta ahi, nada de javascript, al presionar enviar, el texto ingresado en nombre se pasa a x.php y es recibio por esta como $_POST['nombre'];

A veces necesitamos que los valores ingresados sean validados contra una serie de requisitos (cantidad de caracteres, formato de un email, que el valor si es numérico no sea > ó <, etc). hay tres formas de validar
a través de javascript
en el servidor (php en nuestro caso)
ó una forma mixta (javascript y php), generalmente se usa ajax para esto.

La primera es completamente insegura y fácil de violar por el cliente, pero bueno ese es otro tema.

Vayamos de todas maneras a un ejemplo de la primera aplicada al form anterior

Código HTML:
Ver original
  1. <form action="x.php" method="post" onsubmit="return validar();">
  2. <input type="text" name="nombre" id="nombre" value="" />
  3. <input type="submit" name="procesar" value ="enviar" />
  4. </form>

y nuestra funcion validar (muy simplificada)

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function validar(){
  3. var elNombre = document.getElementById('nombre');
  4. if(elNombre.value == ""){
  5. alert('falta nombre');
  6. return false;
  7. }
  8. }
  9. </script>

Esto significa que cuando hacés el submit del form(de paso te aclaro que dentro de un form los únicos que hacen submit en forma natural son el <input type="submit"> y el <button>enviar</button>, no asi el <input type="button">) se espera que nuestra función devuelva algo, por eso lo de "return validar();" y no solo "validar();"
Si devuelve false porque no se cumple alguna condición requerida, entonces el submit se cancela. si no el submit sigue su curso y te dirije al x.php del action.

Si el código que pusiste funciona o no, no es posible saberlo sin ver el html completo
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: formulario, funcion, validar
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 06:22.