Foros del Web » Programando para Internet » Javascript »

document.getElementById(id)

Estas en el tema de document.getElementById(id) en el foro de Javascript en Foros del Web. hola que tal estan? tengo una pregunta: cuando programo, varias veces me ha tocado repetir codigos como este var est = document.getElementById("estado").value; var mun = ...
  #1 (permalink)  
Antiguo 01/07/2010, 14:01
 
Fecha de Ingreso: marzo-2010
Mensajes: 68
Antigüedad: 14 años, 1 mes
Puntos: 0
document.getElementById(id)

hola que tal estan?

tengo una pregunta: cuando programo, varias veces me ha tocado repetir codigos como este

var est = document.getElementById("estado").value;
var mun = document.getElementById("municipios").value;
var par = document.getElementById("parroquias").value;
var cedulaC = document.getElementById("cedulaC").value;
var nombrePro = document.getElementById("nombrePro").value;
var orga = document.getElementById("organizacion").value;
var direccion = document.getElementById("direccion").value;

noten que el "document.getElementById" se repite muchas veces...

hay forma de que pueda hacer esta palabra una sola vez y luego aplicarla donde yo quiera sin tener que repetirla tantas veces??? agradezco su ayudita
  #2 (permalink)  
Antiguo 01/07/2010, 14:31
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: document.getElementById(id)

Hola

Puedes usar getElementByTagName("*") para recoger el valor de cada elemento por el nombre de su etiqueta. Un ejemplo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 01/07/2010, 14:55
 
Fecha de Ingreso: julio-2010
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: document.getElementById(id)

haber si entendí, lo que quieres es ponerla solo una vez y ya solo ponerle el id en cada variable?

lo que logré fue solo acortarlo con una funcion, y pues asi lo hace mas cómodo, aunque supongo que alenta la ejecucion del codigo un poco, pues tiene que estar llendo a otra funcion cada que quieras declarar un valor en una variable, bueno no se si me doy a entender.

la funcion seria algo así:
Código javascript:
Ver original
  1. var est = miid("estado").value;
  2. var mun = miid("municipios").value;
  3. var par = miid("parroquias").value;
  4. var cedulaC = miid("cedulaC").value;
  5. var nombrePro = miid("nombrePro").value;
  6. var orga = miid("organizacion").value;
  7. var direccion = miid("direccion").value;
  8.  
  9. function miid(etiqueta){
  10.             var id = document.getElementById(etiqueta);
  11.             return id;
  12.             }
  #4 (permalink)  
Antiguo 01/07/2010, 15:07
 
Fecha de Ingreso: marzo-2010
Mensajes: 68
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: document.getElementById(id)

hola gracias x responder... estubo muy bien el aporte... ahora otra cosa más,como le hago para tomar todas las cajas de texto con el elemento.getElementsByTagName('elemento');

xq al colocar el siguiente codigo

var cont = document.getElementById("contCrearPro"); // mi contenedor
var input = cont.getElementsByTagName('input'); //se supone que seran tomados todos elementos input

---lo hace efectivamente pero solo para los botones que casualmente tambien son elementos tipo input como las cajas de texto--- gracias por la ayuda
  #5 (permalink)  
Antiguo 01/07/2010, 15:14
Avatar de gioramies  
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 217
Antigüedad: 16 años, 2 meses
Puntos: 14
Respuesta: document.getElementById(id)

Hola xziolhvinvhgl, podrías utilizar un framework como Jquery, quien lo hace así:

Código:
var est = $("#estado").val();
Saludos.
  #6 (permalink)  
Antiguo 01/07/2010, 15:20
 
Fecha de Ingreso: marzo-2010
Mensajes: 68
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: document.getElementById(id)

si es tambien aprobada tu respuesta con lo de jquery......

pero alli solo tomaria el valor de un elemento cuyo id sea "estado" y lo guardo en una variable llamada "est";

lo que realmente busco es la manera de realizar un array que me recorra todas las cajas de texto que existen en un documento para verificar que todas esten llenas... gracias por el aporte
  #7 (permalink)  
Antiguo 01/07/2010, 15:46
Avatar de gioramies  
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 217
Antigüedad: 16 años, 2 meses
Puntos: 14
Respuesta: document.getElementById(id)

Yo te recomiendo utilizar un plugin de Jquery, Mootools u otro de tu preferencia que sirva para validar formularios.

De no seguir esa opción, deberías utilizar la función que recomendó Adler, así:

Código:
var inputs = document.getElementsByTagName("input");
Luego recorres todos los inputs y verificas si son tipo text y si están o no vacios:

Código:
for(var i=0; i<inputs.length; i++) {
   var input = inputs[i];
   if (input.type=='text') {
      valor = input.value;
      if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
         alert("Está vacío");
      }
   }
}
Lo ideal es que luego de verificar si está vacío o no muestres un mensaje indicando cual es el campo de texto que está vacío e indicar que debe ser diligenciado si es el caso. Este asunto complica un poco más las cosas porque deberías crear un código que funcione con cualquier formulario donde el número de inputs es desconocido y la posición de estos puede variar de acuerdo a tus necesidades. De querer hacer esto, te tocaría trabajar con las Propiedades básicas de formularios y elementos, algo más extenso y tedioso. Es por eso que te recomiendo una librería javascript con un plugin de validación de formularios.

PD: No he probado el código, espero que funcione. Saludos.
  #8 (permalink)  
Antiguo 01/07/2010, 16:02
 
Fecha de Ingreso: marzo-2010
Mensajes: 68
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: document.getElementById(id)

ok ok ok muchas gracias por las sugerencias,,, estare utilizando tus recomendaciones gracias... no habia pensado eso de "input.type" si es asi entonces no debe haber errores... saludos

Etiquetas: Ninguno
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 23:16.