Foros del Web » Programando para Internet » Javascript »

recuperar los checkbox que esten marcados

Estas en el tema de recuperar los checkbox que esten marcados en el foro de Javascript en Foros del Web. Hola necesito recuperar los valores de los checkbox que este selecionado pero no se muy bien como hacerlo alguna ayuda. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver ...
  #1 (permalink)  
Antiguo 19/11/2013, 13:07
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
recuperar los checkbox que esten marcados

Hola necesito recuperar los valores de los checkbox que este selecionado pero no se muy bien como hacerlo alguna ayuda.

Código HTML:
Ver original
  1. <input type="checkbox" id="v" value="12"/>
  2. <input type="checkbox" id="v" value="13"/>
  3. <input type="checkbox" id="v" value="14"/>
  4. <input type="checkbox" id="v" value="15"/>
  #2 (permalink)  
Antiguo 19/11/2013, 13:21
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: recuperar los checkbox que esten marcados

Si no sabes hacerlo muy bien, hazlo bien, regular o mal, y te aconsejamos. Pero haz algo. Puedes empezar por leer tutoriales para principiantes de javascript.
  #3 (permalink)  
Antiguo 19/11/2013, 15:14
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: recuperar los checkbox que esten marcados

Hice algo asin:

Código HTML:
Ver original
  1. function recuperarCheckbox(){
  2.     valores=new Array();
  3.     var checkboxes = document.getElementById("formulario").checkbox;
  4.     for (var i=0; i < checkboxes.length; i++){
  5.        if (checkboxes[i].checked){
  6.            valores[i]=checkboxes[i].value;
  7.        }
  8.    }
  9.    for(var i=0; i<valores.length;i++){
  10.        alert(valores[i]);
  11.    }
  12. }
  13. <form id="formulario">
  14.     <input type="checkbox" id="v"  value="12"/>
  15.     <input type="checkbox" id="v" value="13"/>
  16.     <input type="checkbox" id="v" value="14"/>
  17.     <input type="checkbox" id="v" value="15"/>
  18. </form>
  19.  
  20. <a href="javascript:recuperarCheckbox()">mostrar</a>
No me funciona me dice que checboxes no esta definido en la linea esta:
Código Javascript:
Ver original
  1. for (var i=0; i < checkboxes.length; i++){

Alguna idea, de como se debe hacer?
saludos.
  #4 (permalink)  
Antiguo 19/11/2013, 15:20
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: recuperar los checkbox que esten marcados

Ese código que has puesto sólo funciona si todos los checbkox tienen un name con el valor "checkbox".
Por cierto, id significa "identificador", y un identificador es inútil si se repite. No repitas id's, si necesitas repetir algo, usa el atributo class.
  #5 (permalink)  
Antiguo 19/11/2013, 15:38
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: recuperar los checkbox que esten marcados

tienes razon esque los campos los copie de antes;
en realidad lo hice asin:
Código HTML:
Ver original
  1. <input type="checkbox" name="checkbox"  value="12"/>
  2.     <input type="checkbox" name="checkbox" value="13"/>
  3.     <input type="checkbox" name="checkbox" value="14"/>
  4.     <input type="checkbox" name="checkbox" value="15"/>

pero no me funciona, igual es necesario tener estos campos dentro de un form, como recojo todos los elementos checkbox que tengo con el nombre checbox, esque esto es lo que me esta dando error.
  #6 (permalink)  
Antiguo 19/11/2013, 15:41
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: recuperar los checkbox que esten marcados

Me he limitado a copiar y pegar tu código, con un pequeño cambio. Y funciona.
http://jsfiddle.net/65Ts3/1/
  #7 (permalink)  
Antiguo 19/11/2013, 15:53
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: recuperar los checkbox que esten marcados

Hola ese pequello cambio supongo que te refieres al push, pero a mi lo que no me funciona es esto.

var checkboxes = document.getElementById("formulario").checkbox;

me dice que checkboxes no esta definido, estoy depurando el codigo por si veo algun conflicto o cualquier cosa.

Pero es posible recuperar los checkbox selecionados sin estar dentro de un formulario osea solo con su nombre para enviar los valores a un codigo php.

Busque en google pero solo me salen tutoriales con jquery y quiero hacerlo con javascript, alguna ayuda o enlace.

saludos
  #8 (permalink)  
Antiguo 19/11/2013, 15:55
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: recuperar los checkbox que esten marcados

Ponles a todos el mismo CLASS, y recuperalos con document.getElementsByClassName

O mejor aún, si te da igual que tu código no funcione en navegadores prehistóricos, usa
document.querySelector
que acepta como parámetro una cadena que representa selectores CSS. Eso te servirá pra recuperar todos los checbox seleccionados en una sola línea. Por ejemplo, si todos los checboxes están en un div con id contenido:
document.querySelector('div#contenido input[type="checkbox"]:checked')

Última edición por marlanga; 19/11/2013 a las 16:02
  #9 (permalink)  
Antiguo 19/11/2013, 16:08
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: recuperar los checkbox que esten marcados

bien tengo otra duda si tengo cargado el array valores con todos los valores de los checkbox selecionado, como se lo puedo enviar a php mediante ajax, osea el array que cargo arriba el de valores.
saludos.
  #10 (permalink)  
Antiguo 19/11/2013, 16:11
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: recuperar los checkbox que esten marcados

Convierte el array en un string, separando sus valores con símbolos raros, por ejemplo con comas, mételo en un input:hidden, y aprende a enviarlo con AJAX.
  #11 (permalink)  
Antiguo 19/11/2013, 16:31
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: recuperar los checkbox que esten marcados

el envio ajax ya se hacerlo pero no hay alguna forma de enviar un array o un objeto en ajax, bueno voy a investigar, gracias y saludos.
  #12 (permalink)  
Antiguo 19/11/2013, 16:45
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: recuperar los checkbox que esten marcados

De momento por HTTP mediante GET o POST sólo se pueden enviar cadenas de texto. Lo que puedees hacer es convertir tu objeto javascript a cadena (eso se llama serializar objetos) mediante JSON.stringify, que convierte cualquier cosa en una cadena JSON.
Envías la cadena, y PHP tiene que darle la vuelta, es decir, convertir la cadena en una estructura de datos de ese lenguaje. Por ejemplo, con json_decode.

O puedes hacer la cadena manualmente, como te he dicho antes.

Pero siempre se enviará una cadena.
  #13 (permalink)  
Antiguo 19/11/2013, 16:58
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: recuperar los checkbox que esten marcados

Hola entonces como seria exactamente para convertir el array en una cadena con json, necesito descargar algun archivo o javascript ya usa json?
saludos.
  #14 (permalink)  
Antiguo 19/11/2013, 17:19
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: recuperar los checkbox que esten marcados

Perdona ya me distes la solucion era con JSON.stringify, muchas gracias por tu ayuda y paciencia, saludos.

Etiquetas: checkbox, input
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 13:46.