Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Modificar Validación

Estas en el tema de Modificar Validación en el foro de Javascript en Foros del Web. Hola a todos, espero que todos estén bien. Tengo la siguiente consulta espero que me puedan ayudar tengo este formulario: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : ...
  #1 (permalink)  
Antiguo 28/08/2013, 00:44
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Modificar Validación

Hola a todos, espero que todos estén bien.

Tengo la siguiente consulta espero que me puedan ayudar

tengo este formulario:

Código Javascript:
Ver original
  1. <script>
  2. function validartext(f){
  3.    if(document.getElementById("FOLIO").value==""){
  4.       alert("Esta caja de texto no pude ir vacia FOLIO.");
  5. * * * document.getElementById("FOLIO").focus();
  6. * * * return false;
  7.    }
  8.    if(document.getElementById("P02COM").value==""){
  9.       alert("Esta caja de texto no pude ir vacia P02COM.");
  10. * * * document.getElementById("P02COM").focus();
  11. * * * return false;
  12.    }
  13. }
  14. </script>
Código Javascript:
Ver original
  1. <script>
  2. var MensajeDeError="Haga el favor de rellenar todas las preguntas"
  3.     function validar(f){
  4.         marcado=false;
  5.         var nombre;
  6.         for(a=0;a<f.elements.length;a++){
  7.             if(f[a].type=="radio"){
  8.                 if(nombre!=f[a].name){
  9.                     nombre=f[a].name;
  10.                     for(aa=0;f[a+aa].name==f[a].name;aa++){
  11.                         if(f[a+aa].checked){marcado=true};
  12.                     }
  13.                     if(marcado==false){alert(MensajeDeError);return false;}
  14.                 }
  15.             marcado=false;
  16.             }
  17.         }
  18.     }
  19. </script>
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2. <title>Prueba</title>
  3. <style type="text/css">
  4. #D01 {    border: solid 1px #333333;
  5. }
  6. #T01 {    border: solid 1px #333333;
  7. }
  8. </head>
  9. <form name="formulario" id="formulario" action="<?=$_SERVER['PHP_SELF']?>" method="post" onSubmit="return validar(this);">
  10.  
  11.   <table border="1">
  12.     <tr>
  13.       <td>FOLIO</td>
  14.       <td><input type="text" name="FOLIO" id="FOLIO"></td>
  15.     </tr>
  16.   </table>
  17.   <table border="1">
  18.   <tr>
  19.     <td><input type="radio" name="P01" id="P0101" value="150" /></td>
  20.     <td></td>
  21.   </tr>
  22.   <tr>
  23.     <td><input type="radio" name="P01" id="P0102" value="0" /></td>
  24.     <td>No</td>
  25.   </tr>
  26.   </table>
  27.   <table border="1">
  28.   <tr>
  29.     <td width="20"><input type="radio" name="P02" id="P0201" value="250" /></td>
  30.     <td width="373"></td>
  31.   </tr>
  32.   <tr>
  33.     <td><input type="radio" name="P02" id="P0202" value="100" /></td>
  34.     <td>No</td>
  35.   </tr>
  36.   <tr>
  37.     <td><input type="radio" name="P02" id="P0203" value="0" /></td>
  38.     <td>No, tuve que preguntar</td>
  39.   </tr>
  40.   <tr>
  41.     <td colspan="2"><textarea name="P02COM" id="P02COM" cols="55" rows="4" maxlength="150" onKeyUp="this.value=this.value.toUpperCase();if (this.value.length == this.getAttribute('maxlength')){tabulador(this.form,this)}"></textarea></td>
  42.     </tr>
  43.   </table>
  44.   <table border="1">
  45.   <tr>
  46.     <td><input type="radio" name="P03" id="P0301" value="350" /></td>
  47.     <td></td>
  48.   </tr>
  49.   <tr>
  50.     <td><input type="radio" name="P03" id="P0302" value="0" /></td>
  51.     <td>No Aplica</td>
  52.   </tr>
  53.   </table>
  54.   <table border="1">
  55.     <tr>
  56.       <td><input type="checkbox" name="P04A01" id="P04A01" value="1" /></td>
  57.       <td>A) Identificación válida</td>
  58.     </tr>
  59.     <tr>
  60.       <td><input type="checkbox" name="P04A02" id="P04A02" value="1" /></td>
  61.       <td>B) Nombre del remitente</td>
  62.     </tr>
  63.     <tr>
  64.       <td><input type="checkbox" name="P04A03" id="P04A03" value="1" /></td>
  65.       <td>C) Monto esperado</td>
  66.     </tr>
  67.     <tr>
  68.       <td><input type="checkbox" name="P04A04" id="P04A04" value="1" /></td>
  69.       <td>D) País de origen del envío del dinero</td>
  70.     </tr>
  71.     <tr>
  72.       <td><input type="checkbox" name="P04A05" id="P04A05" value="1" /></td>
  73.       <td>E) Número de control de la transferencia (MTCN)</td>
  74.     </tr>
  75.     <tr>
  76.       <td><input type="checkbox" name="P04A06" id="P04A06" value="0" /></td>
  77.       <td>Otros</td>
  78.     </tr>
  79.   </table>
  80.   <table border="1">
  81. <tr>
  82.               <td><input type="radio" name="P05" id="P0501" value="0" /></td>
  83.               <td></td>
  84.             </tr>
  85.             <tr>
  86.               <td><input type="radio" name="P05" id="P0502" value="100" /></td>
  87.               <td>No</td>
  88.             </tr>
  89.           <tr>
  90.               <td><input type="radio" name="P05" id="P0503" value="NA" /></td>
  91.               <td>N/A no había otros clientes</td>
  92.             </tr>
  93.               </table>
  94.   <table border="1">
  95.     <tr>
  96.       <td><input type="checkbox" name="P0601" id="P0601" value="1" /></td>
  97.       <td>Refrigerios (agua, café, té)</td>
  98.     </tr>
  99.     <tr>
  100.       <td><input type="checkbox" name="P0602" id="P0602" value="1" /></td>
  101.       <td>Lapicero</td>
  102.     </tr>
  103.     <tr>
  104.       <td><input type="checkbox" name="P0603" id="P0603" value="1" /></td>
  105.       <td>Área para sentarse</td>
  106.     </tr>
  107.     <tr>
  108.       <td><input type="checkbox" name="P0604" id="P0604" value="1" /></td>
  109.       <td>Temperatura confortable</td>
  110.     </tr>
  111.     <tr>
  112.       <td><input type="checkbox" name="P0605" id="P0605" value="1" /></td>
  113.       <td>TV, Música, o material de lectura</td>
  114.     </tr>
  115.     <tr>
  116.       <td><input type="checkbox" name="P0606" id="P0606" value="1" /></td>
  117.       <td>Baño</td>
  118.     </tr>
  119.     <tr>
  120.       <td><input type="checkbox" name="P0607" id="P0607" value="1" /></td>
  121.       <td>Teléfono público</td>
  122.     </tr>
  123.     <tr>
  124.       <td><input type="checkbox" name="P0608" id="P0608" value="1" /></td>
  125.       <td>Estacionamiento</td>
  126.     </tr>
  127.     <tr>
  128.       <td><input type="checkbox" name="P0609" id="P0609" value="1" /></td>
  129.       <td>Ninguno</td>
  130.     </tr>
  131.   </table>
  132.   <table border="1">
  133.     <tr>
  134.     <td><label>
  135.       <input type="submit" name="enviar" id="enviar" value="Enviar"   onClick="return validartext();">
  136.     </label></td>
  137.     <td><label>
  138.       <input type="reset" name="resett" id="resett" value="Restablecer">
  139.     </label></td>
  140.   </tr>
  141. </form>
  142. </body>
  143. </html>
Y en el Formulario tengo 2 validaciones JavaScript:
La primera "Validartext" (valida que no estén vacías los campos de texto que son el folio y la P02COM)
La segunda "Validar" (valida que selecciones todos los radios del formulario).

lo que quisiera hacer es modificar la de Validartext. Cuando seleccionen el radio P02 la opcion (SI) que me deje guardar el formulario sin que llene la P02COM

Espero que alguien me pueda ayudar y de antemano les doy las gracias

Saludos Cordiales

Última edición por mexbale; 28/08/2013 a las 00:53
  #2 (permalink)  
Antiguo 28/08/2013, 06:49
 
Fecha de Ingreso: agosto-2011
Mensajes: 78
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Modificar Validación

Agregale una condicion mas al if en la funcion validartext(f)


if(document.getElementById("P02COM").value=="") && (!document.getElementById("P0201").checked){
alert("Esta caja de texto no pude ir vacia P02COM.");
* * * document.getElementById("P02COM").focus();
* * * return false;
}
}


Te recomiendo empezar a utilizar jQuery. Te facilita muchisimo el manejo de javascript.

Saludos!
__________________
Gimnasia y esgrima de la plata
  #3 (permalink)  
Antiguo 28/08/2013, 07:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: Modificar Validación

Hola:

Cita:
Iniciado por Enano_la22 Ver Mensaje
...Te recomiendo empezar a utilizar jQuery. Te facilita muchisimo el manejo de javascript...
¡Seguimos con la polémica...! ¡Nunca usé librerías y no creo que sean aconsejables...!; además, todo puede hacerse sin librerías.

Y sobre facilitar... es aprender una dependencia innecesaria...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 28/08/2013, 10:22
 
Fecha de Ingreso: agosto-2011
Mensajes: 78
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Modificar Validación

Hola!
Solo fue un consejo...nada mas. jaja.
Tenes razón, no es que facilite...sino lo que te quede mas comodo...
La verdad es una muy buena libreria, pero es opinion personal.

Me gustaria saber porque para vos no es aconsejable utilizar librerias. Yo no tengo aun mucha experiencia en programacion y me gustaria saber los contra de usar librerias

Gracias por tu infoo!!

Saludoss
__________________
Gimnasia y esgrima de la plata
  #5 (permalink)  
Antiguo 28/08/2013, 13:50
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Modificar Validación

muchas gracias Enano_la22 y voy a checar lo de Jquery para que si es mas factible
  #6 (permalink)  
Antiguo 29/08/2013, 07:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: Modificar Validación

Hola:

Cita:
Iniciado por Enano_la22 Ver Mensaje
Hola!
Solo fue un consejo...nada mas. jaja.
Tenes razón, no es que facilite...sino lo que te quede mas comodo...
La verdad es una muy buena libreria, pero es opinion personal.

Me gustaria saber porque para vos no es aconsejable utilizar librerias. Yo no tengo aun mucha experiencia en programacion y me gustaria saber los contra de usar librerias

Gracias por tu infoo!!

Saludoss
Yo no aconsejo ni desaconsejo, pero cuando veo que se aconseja sin más, me parece un mal consejo, ya que la mayoría de las necesidades que se puedan tener en la elaboración de una página no necesitan más que unas pocas líneas de código (en realidad no se debería necesitar ninguna)... javascript debería ser una ayuda, como una validación previa al envío de un formulario (donde todos admitimos que una validación buena debe estar en el servidor)... y tal vez algunos ejemplos gráficos.

Sobre enumerar contras... el incremento de código es la principal; y no vale lo que algunos comentan sobre líneas rápidas, ya que incluso con adsl en mi caso personal, hay veces que esta misma página de los foros no llega a cargarse del todo y eso implica que no se carguen las librerías...

Como ya he comentado, es toda una polémica donde no suelo participar...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 30/08/2013, 05:38
 
Fecha de Ingreso: agosto-2011
Mensajes: 78
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Modificar Validación

Cita:
Iniciado por caricatos Ver Mensaje
Yo no aconsejo ni desaconsejo, pero cuando veo que se aconseja sin más, me parece un mal consejo, ya que la mayoría de las necesidades que se puedan tener en la elaboración de una página no necesitan más que unas pocas líneas de código (en realidad no se debería necesitar ninguna)... javascript debería ser una ayuda, como una validación previa al envío de un formulario (donde todos admitimos que una validación buena debe estar en el servidor)...

:
Yo creo que cada uno toma la decision en cuanto a como realizar su proyecto y analizara los pro y contra de lo que decide utilizar... para mi es bueno saber todas las posibilidades, por eso no me parece mal aconsejar...despues cada uno decide como seguir y que herramientas utilizar...
Conicido con vos en que una validacion buena debe estar en el servidor como dices...

Gracias Caricatos !!! me gusta sabes todas las opiniones y las valoro..Entiendo tu punto de vista y me parece muy bueno!! A veces es mas facil pensar un poquito y armar una funcion, que utilizar librerias para algo muy simple.


Saludooss!!
__________________
Gimnasia y esgrima de la plata

Etiquetas: formulario, html, input, modificar, php
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:57.