Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Obtener todos los campos ocultos

Estas en el tema de Obtener todos los campos ocultos en el foro de Javascript en Foros del Web. Hola, me preguntaba si existe alguna forma sencilla de obtener todos los campos ocultos (que no se están mostrando) en una página. O sea, supongamos ...
  #1 (permalink)  
Antiguo 25/09/2014, 13:06
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 2
Obtener todos los campos ocultos

Hola, me preguntaba si existe alguna forma sencilla de obtener todos los campos ocultos (que no se están mostrando) en una página.

O sea, supongamos tengo un div y dentro de él varios inputs, y supongamos que ese div está oculto. Por ende todos los inputs no se visualizarán.

Lo que quisiera es contar con una función que me liste todos los inputs que no están visibles.

Por supuesto sin usar clases CSS ya que quiero hacer algo genérico que funcione en cualquier escenario.


Gracias de antemano por la ayuda.
Saludos cordiales.
  #2 (permalink)  
Antiguo 25/09/2014, 13:12
 
Fecha de Ingreso: noviembre-2013
Mensajes: 78
Antigüedad: 11 años
Puntos: 4
Respuesta: Obtener todos los campos ocultos

estimado con algo si pones algo de codigo se puede entender mejor ya que no te entiendo muy bien que es lo que necesitas, por ejemplo de que modo tienes oculto el div.

etc...

Saludos !
  #3 (permalink)  
Antiguo 25/09/2014, 13:21
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Obtener todos los campos ocultos

... es que ese es el tema. Independientemente de la estructura del html deseo obtener todos los campos o controles que no se están mostrando.
  #4 (permalink)  
Antiguo 25/09/2014, 14:27
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Obtener todos los campos ocultos

Una básica y sencilla forma de hacerlo es tomar a todos los elementos del documento HTML, utilizar un bucle para iterar sobre dicho conjunto y, en cada iteración, verificar que el elemento actual en la iteración o el elemento que lo contiene no sea visible. De ser así, bien puedes contarlo o asignarlo a un array.

Código Javascript:
Ver original
  1. var elementos = document.getElementsByTagName("*"),
  2.     total = elementos.length,
  3.     invisibles = [];
  4.  
  5. for (var i = 0; i < total; i++){
  6.     var actual = elementos[i],
  7.         padre = elementos[i].parentNode;
  8.  
  9.     //Para compatibilidad con versiones anteriores a IE9
  10.     if (window.getComputedStyle){
  11.         if (getComputedStyle(actual).display == "none" || getComputedStyle(padre).display == "none"){
  12.             invisibles.push(elementos[i]);
  13.         }
  14.     }
  15.     else{
  16.         if (actual.currentStyle.display == "none" || padre.currentStyle.display == "none"){
  17.             invisibles.push(elementos[i]);
  18.         }
  19.     }
  20. }

De este modo, el array invisibles contendrá a todos los elementos que no sean visibles en el documento. El valor de la propiedad display lo obtengo con el método getComputedStyle o con currentStyle en caso de que el navegador fuera IE8 o una versión anterior.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 25/09/2014, 14:57
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Obtener todos los campos ocultos

Gracias!! Me sirvió de mucho!!

Etiquetas: campos, funcion, input, ocultos
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 11:44.