Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Validar un checkbox

Estas en el tema de Validar un checkbox en el foro de Javascript en Foros del Web. Hola a todos, tengo una función que sino selecciono un checkbox me arroja un mensaje, pero si pongo mas de dos no me los valida... ...
  #1 (permalink)  
Antiguo 29/02/2016, 10:14
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 7 años, 5 meses
Puntos: 4
Información Validar un checkbox

Hola a todos,

tengo una función que sino selecciono un checkbox me arroja un mensaje, pero si pongo mas de dos no me los valida... me puede ayudar,, no se much de javascript, por ahora tengo forma_manifestacion pero hay varios mas radio y checkbox en el mismo formulario


chk_forma=document.getElementsByName('forma_manife stacion[]');
for(i=0;i<chk_forma.length;i++)
if(chk_forma[i].checked){
error_count++;
}
error_message = 'Selecciona almenos una opcion en la pregunta 1';

if(error_count > 0) {
return true;
}
else {

alert(error_message);
return false;
}
  #2 (permalink)  
Antiguo 29/02/2016, 10:32
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 8 años, 5 meses
Puntos: 15
Respuesta: Validar un checkbox

Utiliza esto

Código Javascript:
Ver original
  1. var error_count =0
  2. $('input[name="forma_manife[]"]:checked').each(function() {
  3.     error_count ++;
  4. });
  5. error_message = 'Selecciona almenos una opcion en la pregunta 1';
  6.  
  7. if(error_count > 0){
  8. return true;
  9. }else{
  10. alert(error_message);
  11. return false;
  12. }

Y los check pueden ser
Código HTML:
Ver original
  1. <input type="checkbox" name="forma_manife[]" checked>
  2. <input type="checkbox" name="forma_manife[]" >
  3. <input type="checkbox" name="forma_manife[]" >
  4. <input type="checkbox" name="forma_manife[]" checked>
  #3 (permalink)  
Antiguo 29/02/2016, 10:42
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 7 años, 5 meses
Puntos: 4
Respuesta: Validar un checkbox

Pregunta Zed;

me funciona bien hasta cierto punto, digamos que ahora aparte de ese checkbox quiero validar de la misma manera unos radio que tengo en el mismo formulario, es decir, duplico el codigo y solo le cambio el nombre del input... pero no funciona... solo valida el primero, despues no.


Código Javascript:
Ver original
  1. ('input[name="forma_manifestacion[]"]:checked').each(function() {
  2.     error_count ++;
  3. });
  4. error_message = 'Selecciona almenos una opcion en la pregunta 1';
  5.  
  6. if(error_count > 0){
  7. return true;
  8. }else{
  9. alert(error_message);
  10. return false;
  11. }
  12.  
  13. $('input[name="actitud_denunciado"]:checked').each(function() {
  14.     error_count ++;
  15. });
  16. error_message = 'Selecciona almenos una opcion en la pregunta 4';
  17.  
  18. if(error_count > 0){
  19. return true;
  20. }else{
  21. alert(error_message);
  22. return false;
  23. }

y el radio es este:

Código HTML:
Ver original
  1. <div class="radio">
  2.           <label>
  3.             <input type="radio" name="actitud_denunciado" id="actitud_denunciado" value="bierta y clara">
  4.             Abierta y clara
  5.           </label>
  6.         </div>
  7.         <div class="radio">
  8.           <label>
  9.             <input type="radio" name="actitud_denunciado" id="actitud_denunciado" value="Amenazante">
  10.             Amenazante
  11.           </label>
  12.         </div>
  13.         <div class="radio">
  14.           <label>
  15.             <input type="radio" name="actitud_denunciado" id="actitud_denunciado" value="Discreta o sutil">
  16.             Discreta o sutil
  17.           </label>
  #4 (permalink)  
Antiguo 29/02/2016, 10:52
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 8 años, 5 meses
Puntos: 15
Respuesta: Validar un checkbox

Tu código esta bien, el problema es que estas usando RETURN y a menos que no metas tu código en alguna función no te servirá
  #5 (permalink)  
Antiguo 29/02/2016, 10:57
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 7 años, 5 meses
Puntos: 4
Respuesta: Validar un checkbox

mi codigo completo es este;todo me funciona hasta donde dice if index=3, alli solo me valida una sola funcion, te agradezco la asesoria... llevo 2 dias con esto, debe ser una tontera pero como no tengo conocimientos solidos en javascript, pues no he podido...

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.                 $('#rootwizard').bootstrapWizard(
  3.                     {onNext: function(tab, navigation, index) {
  4.                         var error_message = '';
  5.                         var error_count = 0;
  6.                         if(index==1) {
  7.  
  8.                             if(!$('#documento_denunciante').val()) {
  9.                                 error_message = 'Ingreso su documento identidad';
  10.                                 error_count++;
  11.                             }
  12.                            
  13.                             if(!$('#nombre_denunciante').val()) {
  14.                                 error_message = 'Ingreso sus nombres completos';
  15.                                 error_count++;
  16.                             }
  17.  
  18.                             if(!$('#cargo_denunciante').val()) {
  19.                                 error_message = 'Ingreso su cargo en la compañia';
  20.                                 error_count++;
  21.                             }
  22.  
  23.                             if(!$('#area_denunciante').val()) {
  24.                                 error_message = 'Ingreso el area a la que pertenece';
  25.                                 error_count++;
  26.                             }
  27.                            
  28.                             if(!$('#nombre_jefe_denunciante').val()) {
  29.                                 error_message = 'Ingrese el nombre de su jefe';
  30.                                 error_count++;
  31.                             }
  32.                            
  33.                             if(!$('#cargo_jefe_denunciante').val()) {
  34.                                 error_message = 'Ingrese el cargo de su jefe';
  35.                                 error_count++;
  36.                             }
  37.                            
  38.                             if(!$('#email_denunciante').val()) {
  39.                                 error_message = error_message + 'por favor ingrese su email corporativo.\n';
  40.                                 error_count++  
  41.                             }
  42.  
  43.                             if($('#email_denunciante').val() != false) {
  44.                                 if(!is_valid_email($('#email_denunciante').val())) {
  45.                                     error_message = error_message + 'Email invalido.\n';
  46.                                     error_count++;
  47.                                 }
  48.                                 else {
  49.  
  50.                                 }
  51.                             }
  52.                             if(error_count > 0) {
  53.                                 alert(error_message);
  54.                                 return false;
  55.                             }
  56.                             else {
  57.                                 return true;
  58.                             }
  59.  
  60.                         }
  61.                         else if(index == 2) {
  62.                                     //checking if a gender is chosen
  63.                             if(!$('#nombre_denunciado').val()) {
  64.                                 error_message = '<<Ingrese  nombres completos de la persona contra quien se presenta la queja>>';
  65.                                 error_count++;
  66.                             }
  67.                             if(!$('#cargo_denunciado').val()) {
  68.                                 error_message = '**Ingrese  cargo de la persona contra quien se presenta la queja>>';
  69.                                 error_count++;
  70.                             }
  71.                             if(!$('#area_denunciado').val()) {
  72.                                 error_message = '**Ingrese  area de la persona contra quien se presenta la queja>>';
  73.                                 error_count++;
  74.                             }
  75.                             if(!$('#nombre_jefe_denunciado').val()) {
  76.                                 error_message = '**Ingrese nombre del jefe de la persona contra quien se presenta la queja>>';
  77.                                 error_count++;
  78.                             }
  79.                             if(!$('#cargo_jefe_denunciado').val()) {
  80.                                 error_message = '**Ingrese cargo del jefe de la persona contra quien se presenta la queja>>';
  81.                                 error_count++;
  82.                             }
  83.  
  84.                                     if(error_count > 0) {
  85.                                         alert(error_message);
  86.                                         return false;
  87.                                     }
  88.                                     else {
  89.                                         return true;
  90.                                     }
  91.  
  92.  
  93.                                 }
  94.                             else if(index == 3) {
  95.                                
  96. ('input[name="forma_manifestacion[]"]:checked').each(function() {
  97.     error_count ++;
  98. });
  99. error_message = 'Selecciona almenos una opcion en la pregunta 1';
  100.  
  101.  
  102. $('input[name="actitud_denunciado"]:checked').each(function() {
  103.     error_count ++;
  104. });
  105. error_message = 'Selecciona almenos una opcion en la pregunta 4';
  106.  
  107. if(error_count > 0){
  108. return true;
  109. }else{
  110. alert(error_message);
  111. return false;
  112. }
  113.                             // fin check
  114.  
  115.  
  116.                             }
  117.                     }
  118.                     });
  119. });
  120.  
  121.  
  122.  
  123. function is_valid_email(email) {
  124.     var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  125.     return re.test(email);
  126. }

Última edición por mager3; 29/02/2016 a las 11:00 Razón: detallar mejor
  #6 (permalink)  
Antiguo 29/02/2016, 11:13
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 7 años, 5 meses
Puntos: 4
Respuesta: Validar un checkbox

o porque no funciona tampoco asi??

Código Javascript:
Ver original
  1. else if(index == 3) {
  2.                                
  3.                                 //check the character length of address to validate
  4.                             chk_forma=document.getElementsByName('forma_manifestacion[]');
  5.                                 for(i=0;i<chk_forma.length;i++)
  6.                                 if(chk_forma[i].checked){
  7.                                 error_count++; 
  8.                                 }
  9.                            
  10.                                 error_message = 'Selecciona almenos una opcion en la pregunta 1';
  11.  
  12.                                 if(error_count > 0) {
  13.                                         return true;
  14.                                     }
  15.                                     else {
  16.                                        
  17.                                         alert(error_message);
  18.                                         return false;
  19.                                     }
  20.                             // fin check
  21.                            
  22.                            
  23.                                 //check the character length of address to validate
  24.                             chk_forma=document.getElementsByName('actitud_denunciado');
  25.                                 for(i=0;i<chk_forma.length;i++)
  26.                                 if(chk_forma[i].checked){
  27.                                 error_count++; 
  28.                                 }
  29.                            
  30.                                 error_message = 'Selecciona almenos una opcion en la pregunta 1';
  31.  
  32.                                 if(error_count > 0) {
  33.                                         return true;
  34.                                     }
  35.                                     else {
  36.                                        
  37.                                         alert(error_message);
  38.                                         return false;
  39.                                     }
  40.                             // fin check
  41.  
  42.  
  43.                             }
  #7 (permalink)  
Antiguo 29/02/2016, 11:53
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 8 años, 5 meses
Puntos: 15
Respuesta: Validar un checkbox

Te valida solo los checkbox???


Si es así fijate en el name de los radio debe ser con [] prueba con eso.
  #8 (permalink)  
Antiguo 29/02/2016, 12:32
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 7 años, 5 meses
Puntos: 4
Respuesta: Validar un checkbox

me valida la primera, es decir si pongo los checkbox me los valida, si pongo primero los radio me los valida, aunque puse como tu dijiste y sigue igual.


me disculpas Zed , pero no he podido y hasta hora solo tu haz sido la persona presta a colaborarme,, mientras tu me contestas he estado buscando mucho en google pero no me ha resultado nada..

Código HTML:
Ver original
  1.             <input type="radio" name="actitud_denunciado[]" id="actitud_denunciado" value="abierta y clara">
  2.             Abierta y clara
  3.           </label>
  4.         </div>
  5.         <div class="radio">
  6.           <label>
  7.             <input type="radio" name="actitud_denunciado[]" id="actitud_denunciado" value="Amenazante">
  8.             Amenazante
  9.           </label>
  10.         </div>
  11.         <div class="radio">
  12.           <label>
  13.             <input type="radio" name="actitud_denunciado[]" id="actitud_denunciado" value="Discreta o sutil">
  14.             Discreta o sutil
  15.           </label>

Código Javascript:
Ver original
  1. else if(index == 3) {
  2.                                
  3.                                 //check the character length of address to validate
  4.                                 chk_forma=document.getElementsByName('forma_manifestacion[]');
  5.                                 for(i=0;i<chk_forma.length;i++)
  6.                                 if(chk_forma[i].checked){
  7.                                 error_count++; 
  8.                                 }
  9.                            
  10.                                 error_message = 'Selecciona almenos una opcion en la pregunta 1';
  11.  
  12.                             // fin check
  13.                            
  14.                            
  15.                             //check the character length of address to validate
  16.                                 chk_denunciado=document.getElementsByName('actitud_denunciado[]');
  17.                                 for(i=0;i<chk_denunciado.length;i++)
  18.                                 if(chk_denunciado[i].checked){
  19.                                 error_count++; 
  20.                                 }
  21.                            
  22.                                 error_message = 'Selecciona almenos una opcion en la pregunta denuncuiado';
  23.  
  24.                                 if(error_count > 0) {
  25.                                         return true;
  26.                                     }
  27.                                     else {
  28.                                        
  29.                                         alert(error_message);
  30.                                         return false;
  31.                                     }
  32.                             // fin check
  33.  
  34.  
  35.                             }
  #9 (permalink)  
Antiguo 29/02/2016, 12:48
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 8 años, 5 meses
Puntos: 15
Respuesta: Validar un checkbox

Creo que tu problema es con bootstrapWizard.

Mira Aquí todo funciona correcto...

Por cierto en un de los else if(index == 3) te faltó poner el $
  #10 (permalink)  
Antiguo 29/02/2016, 13:23
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 7 años, 5 meses
Puntos: 4
Respuesta: Validar un checkbox

muchas gracias zed por tu acompañamiento has sido persistente conmigo y sobre todo con mucha paciencia.. ok voy entocnes a reestructurar la validacion ya que el bootstrapWizard presente dificultades.. por ultimo y para despedirme me puedes decir cual $ falta.. busque pero visualemtne no detecto cual es el $..

Muchas gracias por todo.. saludos.
  #11 (permalink)  
Antiguo 29/02/2016, 13:28
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 8 años, 5 meses
Puntos: 15
Respuesta: Validar un checkbox

En la linea 96

Cita:
Iniciado por mager3 Ver Mensaje
mi codigo completo es este;todo me funciona hasta donde dice if index=3, alli solo me valida una sola funcion, te agradezco la asesoria... llevo 2 dias con esto, debe ser una tontera pero como no tengo conocimientos solidos en javascript, pues no he podido...

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.                 $('#rootwizard').bootstrapWizard(
  3.                     {onNext: function(tab, navigation, index) {
  4.                         var error_message = '';
  5.                         var error_count = 0;
  6.                         if(index==1) {
  7.  
  8.                             if(!$('#documento_denunciante').val()) {
  9.                                 error_message = 'Ingreso su documento identidad';
  10.                                 error_count++;
  11.                             }
  12.                            
  13.                             if(!$('#nombre_denunciante').val()) {
  14.                                 error_message = 'Ingreso sus nombres completos';
  15.                                 error_count++;
  16.                             }
  17.  
  18.                             if(!$('#cargo_denunciante').val()) {
  19.                                 error_message = 'Ingreso su cargo en la compañia';
  20.                                 error_count++;
  21.                             }
  22.  
  23.                             if(!$('#area_denunciante').val()) {
  24.                                 error_message = 'Ingreso el area a la que pertenece';
  25.                                 error_count++;
  26.                             }
  27.                            
  28.                             if(!$('#nombre_jefe_denunciante').val()) {
  29.                                 error_message = 'Ingrese el nombre de su jefe';
  30.                                 error_count++;
  31.                             }
  32.                            
  33.                             if(!$('#cargo_jefe_denunciante').val()) {
  34.                                 error_message = 'Ingrese el cargo de su jefe';
  35.                                 error_count++;
  36.                             }
  37.                            
  38.                             if(!$('#email_denunciante').val()) {
  39.                                 error_message = error_message + 'por favor ingrese su email corporativo.\n';
  40.                                 error_count++  
  41.                             }
  42.  
  43.                             if($('#email_denunciante').val() != false) {
  44.                                 if(!is_valid_email($('#email_denunciante').val())) {
  45.                                     error_message = error_message + 'Email invalido.\n';
  46.                                     error_count++;
  47.                                 }
  48.                                 else {
  49.  
  50.                                 }
  51.                             }
  52.                             if(error_count > 0) {
  53.                                 alert(error_message);
  54.                                 return false;
  55.                             }
  56.                             else {
  57.                                 return true;
  58.                             }
  59.  
  60.                         }
  61.                         else if(index == 2) {
  62.                                     //checking if a gender is chosen
  63.                             if(!$('#nombre_denunciado').val()) {
  64.                                 error_message = '<<Ingrese  nombres completos de la persona contra quien se presenta la queja>>';
  65.                                 error_count++;
  66.                             }
  67.                             if(!$('#cargo_denunciado').val()) {
  68.                                 error_message = '**Ingrese  cargo de la persona contra quien se presenta la queja>>';
  69.                                 error_count++;
  70.                             }
  71.                             if(!$('#area_denunciado').val()) {
  72.                                 error_message = '**Ingrese  area de la persona contra quien se presenta la queja>>';
  73.                                 error_count++;
  74.                             }
  75.                             if(!$('#nombre_jefe_denunciado').val()) {
  76.                                 error_message = '**Ingrese nombre del jefe de la persona contra quien se presenta la queja>>';
  77.                                 error_count++;
  78.                             }
  79.                             if(!$('#cargo_jefe_denunciado').val()) {
  80.                                 error_message = '**Ingrese cargo del jefe de la persona contra quien se presenta la queja>>';
  81.                                 error_count++;
  82.                             }
  83.  
  84.                                     if(error_count > 0) {
  85.                                         alert(error_message);
  86.                                         return false;
  87.                                     }
  88.                                     else {
  89.                                         return true;
  90.                                     }
  91.  
  92.  
  93.                                 }
  94.                             else if(index == 3) {
  95.                                
  96. ('input[name="forma_manifestacion[]"]:checked').each(function() {
  97.     error_count ++;
  98. });
  99. error_message = 'Selecciona almenos una opcion en la pregunta 1';
  100.  
  101.  
  102. $('input[name="actitud_denunciado"]:checked').each(function() {
  103.     error_count ++;
  104. });
  105. error_message = 'Selecciona almenos una opcion en la pregunta 4';
  106.  
  107. if(error_count > 0){
  108. return true;
  109. }else{
  110. alert(error_message);
  111. return false;
  112. }
  113.                             // fin check
  114.  
  115.  
  116.                             }
  117.                     }
  118.                     });
  119. });
  120.  
  121.  
  122.  
  123. function is_valid_email(email) {
  124.     var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  125.     return re.test(email);
  126. }

Etiquetas: validacion
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:25.