Foros del Web » Programando para Internet » Javascript »

validar checkbox correctamente.

Estas en el tema de validar checkbox correctamente. en el foro de Javascript en Foros del Web. Hola, tengo una lista de chekbox llamados id. la idea es que tiene que estar seleccionado al menos un chekbox para ke se pueda enviar ...
  #1 (permalink)  
Antiguo 16/09/2008, 12:00
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
validar checkbox correctamente.

Hola,
tengo una lista de chekbox llamados id.
la idea es que tiene que estar seleccionado al menos un chekbox para ke se pueda enviar el formulario si no no..


lo estoy haciendo asi

pero chekeados o no checkeados siempre me entra a alert("Debe seleccionar al menos un pedido.");

ke estoy haciendo mal?

Código:
 
function validarr()
{
 if (document.form1.id.checked)
  {
   document.getElementById('juan').disabled = true;
   document.getElementById('botone').value ='Facturando pedidos...';
   document.form1.submit();
  }
 else
 
 {
   alert("Debe seleccionar al menos un pedido.");
   return false;
 }
 
}
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #2 (permalink)  
Antiguo 16/09/2008, 12:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: validar checkbox correctamente.

Si son varios checkbox y todos se llaman id no basta con una comparación, hay que recorrer todos los checkbox con un bucle for para saber si uno de ellos está seleccionado.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/09/2008, 12:03
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

mm con razon no me funciona bien jej.. tienes algun ejemplo de esto? la verdad se muy poco de javascript asi ke no sabria como hacero..
gracias.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #4 (permalink)  
Antiguo 16/09/2008, 12:03
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: validar checkbox correctamente.

Hola lexus

A ver si te ayuda este mensaje:

http://www.forosdelweb.com/f13/conta...onados-431687/

Saludos,
  #5 (permalink)  
Antiguo 16/09/2008, 12:06
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

hola gracias javierB, por el ejemplo
aunke como dije anteriormente no se mucho por decir nada dejavscritp.
lei un poco el ejemplo pero no sabria como adaptarlo para mi validacino simple.
solo necesitaria saber si estan chekeados o no.. si uno o varios checkbox esta seleccinoado lo deja enviar si no no.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #6 (permalink)  
Antiguo 16/09/2008, 12:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: validar checkbox correctamente.

Mira este otro tema un poco debajo del tuyo:
http://www.forosdelweb.com/f13/valid...o-form-625101/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 16/09/2008, 12:19
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

definitivamente me quedo grande jeje..

asi voy pero nada no me funcinoa


for (i=0; i<id.length; i++)
{
if (check[i].checked)
{
alert("seleccionado");
}
else
{
alert("Debe seleccionar al menos un pedido.");
return false;

}


}
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #8 (permalink)  
Antiguo 16/09/2008, 12:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: validar checkbox correctamente.

Primero, que check no existe en ese ámbito, y segundo, que debes hacer primero todo el recorrido antes de hacer el return false, por ejemplo:
Código javascript:
Ver original
  1. seleccionado = false;
  2. for (i=0; i<form1.id.length; i++) {
  3.  if (form1.id[i].checked)  {
  4.         alert("seleccionado");
  5.         seleccionado = true;
  6.         break;
  7. }
  8. }
  9. if (!seleccionado) { alert("Debe seleccionar al menos un pedido"); return false }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 16/09/2008, 13:41
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

Hola lo modifique asi:
me funciona perfecto cuando tengo muchos checkboxs, pero cuando tengo uno solo ahi no me funcinoa me entra de una a else de que debo seleccinoar al menos uno.
aclaro, la cantidad de checkboxs es variable segun el caso, pueden ser 10, pueden ser 5, 10, etc, o puede ser solo 1.
cuando es solo 1 no funciona.


Código:
 
function validar()
{
 
  seleccionado = false;
  for (i=0; i<form1.id.length; i++)
  {
   if (form1.id[i].checked)
   {        
  document.form1.facturar.disabled = true;
  document.form1.facturar.value ='Facturando pedidos...';
  seleccionado = true;
   }
 }
  if (!seleccionado)
  { 
  alert("Debe seleccionar al menos un pedido");
  return false; 
  }
 
 
}
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #10 (permalink)  
Antiguo 16/09/2008, 13:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: validar checkbox correctamente.

Es que cuando hay un solo checkbox es válido el código que pusiste en tu primer mensaje ya que no es un array.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 16/09/2008, 13:46
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

pero eso seria un caso de los mucos ke te comente,.. osea la cantidad de checkboxs es variable dependiendo ed una consulta ke hago en asp..

ese codigo en javascript es posible modificarlo para ke funcione con muchos checkboxs sin importar la cantidad? ya sea 1 solo, 20,30, 5, etc.. o los que sean?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #12 (permalink)  
Antiguo 16/09/2008, 13:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: validar checkbox correctamente.

En este tema se trató algo parecido:
http://www.forosdelweb.com/f13/length-619434/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 16/09/2008, 13:52
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

la verdad no entendi. que pena molestar tanto..
nose mucho de javascript.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #14 (permalink)  
Antiguo 16/09/2008, 14:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: validar checkbox correctamente.

Se trata de que investigues un poco, ya que en ese tema ya había puesto cómo hacerlo, y hasta mejorando un poco sería, por ejemplo:
Código javascript:
Ver original
  1. if (form1.id.length) {
  2. /* Aquí el código en caso de que haya varios checks */
  3. } else {
  4. /* Aquí el código para un solo check */
  5. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 16/09/2008, 14:14
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

ok te agradezco mucho por tu colaboracion y por tu tiempo..
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #16 (permalink)  
Antiguo 16/09/2008, 14:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: validar checkbox correctamente.

No olvides contarnos si has logrado hacerlo . Y si no lo logras no dudes en volver a escribir, trataré de explicarte mejor .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #17 (permalink)  
Antiguo 16/09/2008, 14:26
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: validar checkbox correctamente.

pues lo hice de una forma que se ke no es la mejor porke repito muchas cosas.. pero me funcino aunke obviamente el codigo no es para nada optimo..

aqui lo publico..

Código:
 
function validar()
{
 if (form1.id.length) {
 /* Aquí el código en caso de que haya varios checks */ 
  seleccionado = false;
  for (i=0; i<form1.id.length; i++)
  {
   if (form1.id[i].checked)
   {         
   document.form1.facturar.disabled = true;
   document.form1.facturar.value ='Facturando pedidos...';
   seleccionado = true;
   }
 }
  if (!seleccionado)
  { 
   alert("Debe seleccionar al menos un pedido");
   return false; 
  }
 
 } 
 else 
 {
  /* Aquí el código para un solo check */
  
  if (form1.id.checked)
   {         
   document.form1.facturar.disabled = true;
   document.form1.facturar.value ='Facturando pedidos...';
   }
  else
  { 
   alert("Debe seleccionar al menos un pedido");
   return false; 
  }
  
  
 }
}
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
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:42.