elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  validacion formulario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: validacion formulario  (Leído 4,920 veces)
marcelo3d

Desconectado Desconectado

Mensajes: 4


Ver Perfil
validacion formulario
« en: 29 Octubre 2011, 06:08 am »

Buen dia, necesito colaboracion en una validacion de formularios y el codigo que tengo es este y no funciona:   (es una validacion que no se dejen campos vacios y solo numeros menores a 5)

El problema es que tengo dos forms en la pagina y el codigo funciona cuando hay un solo form, pero cuando hay mas, solo verifica el primero, pero ese no me interesa que lo revise, solo me interesa el "form1".

Esto es una  planilla de notas donde aparecen los estudiantes y el campo nota segun una seleccion que se hace en el primer form "form2".. Todo funciona bien, lo unico que no he podido hacer es la validacion .
Les agradezco su colaboracion

<script>
      function comprobar(){
    var mal=false;
   var f=false;
    numer=document.forms[0].Nota.length;
    for(a=0;a<numer;a++){
    if (document.forms[0].Nota[a].value==""){document.forms[0].Nota[a].style.backgroundColor="#ffF000";mal=true;}
    else{document.forms[0].Nota[a].style.backgroundColor="white";}
       }
      
    if(mal){
      
       alert("Aún hay criterios sin evaluar...");
       f=false;
      return (false);
    }
    for(a=0;a<numer;a++){
    if (document.forms[0].Nota[a].value>5){document.forms[0].Nota[a].style.backgroundColor="#ffF000";mal=true;}
    else{document.forms[0].Nota[a].style.backgroundColor="white";}
       }
      
    if(mal){
      
       alert("No se permiten notas mayores a cinco (5)");
       f=false;
      return (false);
    }
   
    else{
      document.forms[0].submit()
       return (true);
    }
}
</script>


<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1" onsubmit="return comprobar()" >

<input name="Nota[]" type="text" id="Nota" value="" size="3" />

aca se ingresan mas valores con campos ocultos, pero solo necesito validar el campo "Nota"
*************************************************************************



En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: validacion formulario
« Respuesta #1 en: 30 Octubre 2011, 03:57 am »

Hola Marcelo; siento que la validación está un poco extraña. Aquí le dejo un ejemplo
para validar una sola nota o todas al mismo tiempo.

Código
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. </head>
  6.  
  7. <body>
  8. <form id="1" onsubmit="return fntValidar_Form(this)">
  9. <input type="text" id="txtNota1">
  10. <br>
  11. <input type="submit" value="Validar">
  12. </form>
  13. <br>
  14. <form id="2" onsubmit="return fntValidar_Form(this)">
  15. <input type="text" id="txtNota2">
  16. <br>
  17. <input type="submit" value="Validar">
  18. </form>
  19. <br>
  20. <br>
  21. <input type="button" value="Validar todo" onclick="fntValidar_Todo()">
  22.  
  23. <script>
  24. //funcionar para validar solamente una nota
  25. function fntValidar_Form(objForm){
  26. var iNota=Number(objForm.elements['txtNota'+objForm.id].value);
  27. //obtener la nota, basados en el id del form (es importante colocar IDs distintos)
  28.  
  29. var blnRet=true; //valor que vamos a retornar
  30.  
  31. if(iNota=='' || iNota>5 || iNota<1){
  32. alert('Por favor, verifique la nota.');
  33. blnRet=false; //no se procesa el form porque el dato no es valido
  34. }else{
  35. //pasa la validacion :P
  36. }
  37.  
  38. return blnRet; //retornamos true/false
  39. }
  40.  
  41. //funcion para validar todas las notas
  42. function fntValidar_Todo(){
  43. var iCantidad_Forms=document.forms.length; //contamos la cantidad de forms
  44.  
  45. for(var iForm=0;iForm<iCantidad_Forms;iForm++){ //recorremos los forms
  46. var objForm=document.forms[iForm]; //almacenamos el form en la variable
  47. var iCantidad_Elementos=objForm.elements.length; //contar la cantidad de elementos
  48.  
  49. //recorrer todos los elementos del form
  50. for(var iElemento=0;iElemento<iCantidad_Elementos;iElemento++){
  51. //verificamos que el elemento sea tipo text (no vamos  validar un boton :/)
  52. if(objForm.elements[iElemento].type=='text'){
  53. //almacenamos el valor del campo
  54. var iNota=objForm.elements[iElemento].value;
  55.  
  56. //validar el campo
  57. if(iNota=='' || iNota>5 || iNota<1){
  58. alert('Por favor, verifique las notas ingresadas.');
  59. return; //abandonamos la ejecucion
  60. }
  61. }
  62. }
  63. }
  64.  
  65. //mostramos un mensaje en caso de que todo sea correcto
  66. alert('Todas las notas estan bien :P');
  67. }
  68. </script>
  69. </body>
  70. </html>
  71.  

Al rato esté un poco extenso, pero usted lo adapta. Mi intención es que entienda el código a la perfección. Espero le sirva de algo. Saludos :P

Nota: debe validar los valores NaN (cuándo se coloca una letra en vez de un número) o programar el campo de texto para que únicamente acepte números.


En línea

Mi blog personal: www.calirojas.com
marcelo3d

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: validacion formulario
« Respuesta #2 en: 30 Octubre 2011, 04:19 am »

Gracias por dedicarle un tiempo a mi codigo, no sabes en verdad cuanto lo agradezco. voy echarle un vistazo para  adaptarlo, pero te cuento que ya  solucione mi problemilla, simplemente era que cuando tengo varios form pongo
  • y me valida el primero, [1] para el segundo y asi susecivamente. De algo sirven las horas sin dormir.  Tu explicacion del codigo esta muy buena, lo tendre en cuenta ya que no soy muy diestro en esto
En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: validacion formulario
« Respuesta #3 en: 30 Octubre 2011, 04:26 am »

Claro, no hay problema ;)
Así es esto, al principio hay que "matarse" para aprender, ya después las cosas salen más fácilmente :)
En línea

Mi blog personal: www.calirojas.com
dark_sargon


Desconectado Desconectado

Mensajes: 534


CJ


Ver Perfil WWW
Re: validacion formulario
« Respuesta #4 en: 30 Octubre 2011, 05:11 am »

Cabe recordar que es bueno hacer doble validación ya que algun usuario puede tener desactivados los scripts en javascript pero aun asì es bueno dejarlo para la mayorìa que si los tienen habilitados.

La segunda validación se haría en el archivo que recibe los datos del formulario. En tu caso el .php
Seria sencillo, tomar lo que tiene en javascript y 'traducirlo' para PHP.
En línea

http://www.actimediaonline.com
Diseño Web, animación y más.

http://www.ciudadoscura.com
Diseño Web, electrónica, programación, móviles y más.
marcelo3d

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: validacion formulario
« Respuesta #5 en: 2 Noviembre 2011, 04:13 am »

Buen dia, en esto de programacion, cuando se resuelve un problema siempre aparece otro y ahora tengo el siguiente: 
Tengo una lista de estudiantes con nombre y falla (justificada e injustificada) cuando selecciono fecha me coloca a cada persona el dato (fecha) pero la idea es que solo me envie las fallas de las personas que seleccione ya sea justificada o injustificada y que los otros no los envie. Lo tengo así pero escucho sugerencias:



De momento me esta enviando todo el listado .

estos son los 2 radio boton:
<input type="radio" name="cod_falla" value="1" />
                      <span class="thm2"><span class="n">Injustificada</span></span>
                      <input type="radio" name="cod_falla" value="0" />

GRACIAS POR SUS APORTES
En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: validacion formulario
« Respuesta #6 en: 2 Noviembre 2011, 15:49 pm »

Hmmm.. supongo que arriba, donde aparece el calendario, es donde se asigna la fecha para todos los estudiantes. En ese caso eliminaria el campo fecha que tiene cada estudiante. Para que colocarlo otra vez si el dato es el mismo?

Tambien, pondria una barra de busqueda. Por ejemplo, si solo Fulanito De Tal falto, entonces me gustaria buscarlo a el directamente, sin tener que hace scroll o leer el resto de nombres.

En cuanto a los radios. Hmmm no me parece mal, pero probablemente yo lo hubiese hecho con un select que tenga tres opciones: 1. -- Seleccionar -- (esta opcion no haria nada) 2. Justificada 3. Injustificada.

De repente sea importate agregar un campo para colocarle una observacion a cada falta. Por ejemplo, si justifico una falta.. me gustaria poner algo como: "Justificado con comprobante medico #1234567890, verificar el documento en el expediente fisico" (o algo similar).
En línea

Mi blog personal: www.calirojas.com
marcelo3d

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: validacion formulario
« Respuesta #7 en: 2 Noviembre 2011, 16:16 pm »

Buen dia, como siempre gracias por tus aportes:

1- Lo de la fecha en cada uno solo era para comprobar que efectivamente me la estaba asignando
2- Lo del select tambien es buena idea y mucho mejor la de la busqueda

Pero suponiendo que todo esto este listo, como puedo hacer para enviar a la base de datos solo los dos o tres que no asistieron determinado dia.   De momento puedo enviar uno por uno pero si son varios me gustaria se envien en un solo grupo.  O los envio todos pero no justifica llenar la base de datos por un par, Lo que  no he podido es solo enviar  los seleccionados

En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: validacion formulario
« Respuesta #8 en: 2 Noviembre 2011, 17:28 pm »

Hola ;) Disculpe que no escriba con acentos, estoy en un teclado solo ingles y me da pereza configurarlo jejeje.

En el caso de hacerse con select, lo que yo haria seria:

1. Recorrer todos los select que hay en la pagina.
2. Si el valor del select es 1 o 2 (Justificada o Injustificada, por ejemplo) entonces almaceno ese dato. Recordar que el select va a tener 3 opciones (Seleccionar, Justificada e Injustificada).
3. Continuo con el ciclo, repitiendo lo mismo hasta llegar al final.

Bueno, esto seria por medio de Ajax; no se como lo estara haciendo usted. La verdad hace tiempo me olvide de procesar formularios enviado datos a otra pagina :$
En línea

Mi blog personal: www.calirojas.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con la validación de un formulario con javascript
Desarrollo Web
janisorna 9 5,930 Último mensaje 3 Enero 2012, 20:22 pm
por janisorna
MOVIDO: Problema con la validación de un formulario con javascript
Java
Leyer 0 1,592 Último mensaje 30 Diciembre 2011, 19:18 pm
por Leyer
Validación e-mail formulario
PHP
el-brujo 4 3,301 Último mensaje 12 Mayo 2012, 03:21 am
por jhonatanAsm
validación formulario html5
Desarrollo Web
kakashi20 1 1,987 Último mensaje 21 Febrero 2013, 23:34 pm
por Novlucker
Validacion de formulario con javascript
Desarrollo Web
Sistematic 9 3,550 Último mensaje 18 Agosto 2014, 02:49 am
por Sistematic
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines