Foros del Web » Programando para Internet » Javascript »

"document.getElementById(...)' es nulo o no es un objeto" PERO NO ES NULO

Estas en el tema de "document.getElementById(...)' es nulo o no es un objeto" PERO NO ES NULO en el foro de Javascript en Foros del Web. Hola Amigos foristas como están, me encuentro de nuevo por acá a ver si me pueden echar una manito. Tengo un formulario el cual dependiendo ...
  #1 (permalink)  
Antiguo 04/08/2010, 08:14
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 8 meses
Puntos: 1
"document.getElementById(...)' es nulo o no es un objeto" ##SOLUCIONADO##

Hola Amigos foristas como están, me encuentro de nuevo por acá a ver si me pueden echar una manito.
Tengo un formulario el cual dependiendo de las condiciones se deben activar los Checkbox. Cuando hago la llamada a la función donde los marco, se ejecuta sin problemas, pero si quiero ejecutar este mismo código fuera de la función me da el error "es nulo o no es un objeto" si no tuviera ningún valor me debería de dar error también dentro de la función pero no es así.

He intentado cambiar el estado del checkbox por ID y por NOMBRE pero no se ejecuta de ninguna de las dos formas si esta fuera de la función, he intentado crear una función adicional y llamarla por <body onload=funcion()> pero me da el error.

Dejo el código y si alguien puede echarme una mano, les agradecería un montón. Gracias y Saludos


Dependiendo del método que utilice me arroja estos errores
Mensaje: 'document.economico.e_1' es nulo o no es un objeto
Mensaje: 'document.getElementById(...)' es nulo o no es un objeto


Código Javascript:
Ver original
  1. <script language="javascript" type="text/javascript">
  2. // acá me arroja error
  3. document.economico.e_1.checked = true;
  4.  
  5. // se ejecuta perfecto cuando lo llamo desde <a href="javascript:economico()">
  6. function economico(){
  7. document.economico.e_1.checked = true;
  8. document.getElementById('ev1').value=1;
  9. };
  10. </script>

Última edición por danikene; 06/08/2010 a las 14:40 Razón: Solucionado
  #2 (permalink)  
Antiguo 04/08/2010, 08:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: "document.getElementById(...)' es nulo o no es un objeto" PERO NO ES NULO

Hola

Bueno, eso es algo se suele ocurrir. Lo único que puede estar fuera de las llaves de una función son variables, eventos para cargar un script y alguna otra cosa, quizás. ¿Por qué quieres que esté fuera de la función?

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 04/08/2010, 08:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: "document.getElementById(...)' es nulo o no es un objeto" PERO NO ES NULO

Hola Adler Gracias por tu respuesta. Te explico las funciones las cree con el fin de marcar un grupo de checkbox a la vez (es uno por cada dia de la semana y cree un botón para seleccionar la semana completa) lo que esta fuera de la función lo quiero ejecutar dependiendo de las variables globales (Trabajo con 3 semanas, las cuales almaceno en array superglobales) y dependiendo de los días que estén almacenados en estas variables marco el checkbox, tal como decía en la exposición del problema también intente creando una función para esto y llamarla al cargar la página con body onload pero me da error igual, Gracias de antemano y si se te ocurre algo sabré apreciarlo. Saludos
  #4 (permalink)  
Antiguo 04/08/2010, 13:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: "document.getElementById(...)' es nulo o no es un objeto" PERO NO ES NULO

Hola

A ver si es esto lo que quieres, por que con lo de array superglobales me has mataó
Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
  5. <script type="text/javascript">
  6. dias = new Array(1,3,5,7,9);
  7. window.onload = function() {
  8. for(i=0; i < dias.length; i++) {
  9. document.getElementById('dia'+dias[i]).checked = true;
  10. }
  11. }
  12. </script>  
  13. </head>
  14. <body>
  15. <input type="checkbox" id="dia1" value="" /><br />
  16. <input type="checkbox" id="dia2" value="" /><br />
  17. <input type="checkbox" id="dia3" value="" /><br />
  18. <input type="checkbox" id="dia4" value="" /><br />
  19. <input type="checkbox" id="dia5" value="" /><br />
  20. <input type="checkbox" id="dia6" value="" /><br />
  21. <input type="checkbox" id="dia7" value="" /><br />
  22. <input type="checkbox" id="dia8" value="" /><br />
  23. <input type="checkbox" id="dia9" value="" /><br />
  24. <input type="checkbox" id="dia10" value="" />
  25. </body>
  26. </html>
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;" />
  #5 (permalink)  
Antiguo 06/08/2010, 09:57
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: "document.getElementById(...)' es nulo o no es un objeto" PERO NO ES NULO

Hola Adler Gracias por tu respuesta, y disculpa que no escribiera antes. Ya lo resolvi, creo que cuando uno ve demasiado el codigo de una página termina por embotarse y no ve los problemas.

Lo que sucedia era lo más logico al llamar el codigo fuera de una funcion el codigo era ejecutado antes de crear el objeto y por eso decia que no existia, Cuando cree la funcion y la cargue por el metedo Body onload es muy probable que lo hiciera incorrecto pero ya resolvi eso y a la final todo quedo de maravilla (aun no termino pero voy viento en popa).

Con respecto a lo que te comente sobre los array superglobales, si bien es sobre php y me diran luego que va para el otro foro, lo explico para no dejar la duda en el aire.

Los Variables superglobales son aquellas que no necesitan ser definidas como globales y pueden ser utilizadas a lo largo de todo el programa, dentro y fuera de la función en que fueron creadas van de la siguiente forma

Código PHP:
Ver original
  1. $_SESSION[variable] = 'valor';

Cuando me refiero a Array superglobales es llenar esa variable con un array, y lo tendremos disponible durante todo el programa.

No soy un crack del php pero creo que me explique medianamente. Saludos y Gracias nuevamente
  #6 (permalink)  
Antiguo 06/08/2010, 11:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: "document.getElementById(...)' es nulo o no es un objeto" PERO NO ES NULO

Hola

Me alegra que lo hayas solucionado, no he entendido la explicación, pero me alegra.
En cuanto a las variables superglobales, estaba ironizando un poco. En javascript solamente globales, es decir que puedes usarlas en cualquier sitio dentro de la etiqueta <script>
__________________
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;" />

Etiquetas: nulo
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 10:33.