Foros del Web » Programando para Internet » Javascript »

Error "Se requiere un objeto" JavaScript IExplorer

Estas en el tema de Error "Se requiere un objeto" JavaScript IExplorer en el foro de Javascript en Foros del Web. Buenas tardes, estuve intentando múltiples opciones para lograr la aceptación de este código por parte de IExplorer pero no logro cargarlo sin errores. El código ...
  #1 (permalink)  
Antiguo 05/07/2010, 13:55
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 0
Error "Se requiere un objeto" JavaScript IExplorer

Buenas tardes, estuve intentando múltiples opciones para lograr la aceptación de este código por parte de IExplorer pero no logro cargarlo sin errores.

El código es:

var YtableEmulator1=document.getElementById('y-table-emulator1');var table1=document.getElementById('table-body1');YtableEmulator1.style.height=table1.client Height===0?"330px":table1.clientHeight+"px";var scrollablePanel1=document.getElementById('scroll1' );var headerContainer1=document.getElementById('header-container1');var YfakeScrollablePanel1=document.getElementById('y-fake-scroll1');YfakeScrollablePanel1.style.top=headerCo ntainer1.clientHeight===0?"34px":headerContainer1. clientHeight+"px";YfakeScrollablePanel1.onscroll=f unction(ytab1){scrollablePanel1.scrollTop=YfakeScr ollablePanel1.scrollTop;};

var YtableEmulator2=document.getElementById('y-table-emulator2');var table2=document.getElementById('table-body2');YtableEmulator2.style.height=table2.client Height===0?"330px":table2.clientHeight+"px";var scrollablePanel2=document.getElementById('scroll2' );var headerContainer2=document.getElementById('header-container2');var YfakeScrollablePanel2=document.getElementById('y-fake-scroll2');YfakeScrollablePanel2.style.top=headerCo ntainer2.clientHeight===0?"34px":headerContainer2. clientHeight+"px";YfakeScrollablePanel2.onscroll=f unction(ytab2){scrollablePanel2.scrollTop=YfakeScr ollablePanel2.scrollTop;};

var YtableEmulator3=document.getElementById('y-table-emulator3');var table3=document.getElementById('table-body3');YtableEmulator3.style.height=table3.client Height===0?"330px":table3.clientHeight+"px";var scrollablePanel3=document.getElementById('scroll3' );var headerContainer3=document.getElementById('header-container3');var YfakeScrollablePanel3=document.getElementById('y-fake-scroll3');YfakeScrollablePanel3.style.top=headerCo ntainer3.clientHeight===0?"34px":headerContainer3. clientHeight+"px";YfakeScrollablePanel3.onscroll=f unction(ytab3){scrollablePanel3.scrollTop=YfakeScr ollablePanel3.scrollTop;};

var YtableEmulator4=document.getElementById('y-table-emulator4');var table4=document.getElementById('table-body4');YtableEmulator4.style.height=table4.client Height===0?"330px":table4.clientHeight+"px";var scrollablePanel4=document.getElementById('scroll4' );var headerContainer4=document.getElementById('header-container4');var YfakeScrollablePanel4=document.getElementById('y-fake-scroll4');YfakeScrollablePanel4.style.top=headerCo ntainer4.clientHeight===0?"34px":headerContainer4. clientHeight+"px";YfakeScrollablePanel4.onscroll=f unction(ytab4){scrollablePanel4.scrollTop=YfakeScr ollablePanel4.scrollTop;};

var YtableEmulator5=document.getElementById('y-table-emulator5');var table5=document.getElementById('table-body5');YtableEmulator5.style.height=table5.client Height===0?"330px":table5.clientHeight+"px";var scrollablePanel5=document.getElementById('scroll5' );var headerContainer5=document.getElementById('header-container5');var YfakeScrollablePanel5=document.getElementById('y-fake-scroll5');YfakeScrollablePanel5.style.top=headerCo ntainer5.clientHeight===0?"34px":headerContainer5. clientHeight+"px";YfakeScrollablePanel5.onscroll=f unction(ytab5){scrollablePanel5.scrollTop=YfakeScr ollablePanel5.scrollTop;};

var YtableEmulator6=document.getElementById('y-table-emulator6');var table6=document.getElementById('table-body6');YtableEmulator6.style.height=table6.client Height===0?"330px":table6.clientHeight+"px";var scrollablePanel6=document.getElementById('scroll6' );var headerContainer6=document.getElementById('header-container6');var YfakeScrollablePanel6=document.getElementById('y-fake-scroll6');YfakeScrollablePanel6.style.top=headerCo ntainer6.clientHeight===0?"34px":headerContainer6. clientHeight+"px";YfakeScrollablePanel6.onscroll=f unction(ytab6){scrollablePanel6.scrollTop=YfakeScr ollablePanel6.scrollTop;};

var YtableEmulator7=document.getElementById('y-table-emulator7');var table7=document.getElementById('table-body7');YtableEmulator7.style.height=table7.client Height===0?"330px":table7.clientHeight+"px";var scrollablePanel7=document.getElementById('scroll7' );var headerContainer7=document.getElementById('header-container7');var YfakeScrollablePanel7=document.getElementById('y-fake-scroll7');YfakeScrollablePanel7.style.top=headerCo ntainer7.clientHeight===0?"34px":headerContainer7. clientHeight+"px";YfakeScrollablePanel7.onscroll=f unction(ytab7){scrollablePanel7.scrollTop=YfakeScr ollablePanel7.scrollTop;};

var YtableEmulator8=document.getElementById('y-table-emulator8');var table8=document.getElementById('table-body8');YtableEmulator8.style.height=table8.client Height===0?"330px":table8.clientHeight+"px";var scrollablePanel8=document.getElementById('scroll8' );var headerContainer8=document.getElementById('header-container8');var YfakeScrollablePanel8=document.getElementById('y-fake-scroll8');YfakeScrollablePanel8.style.top=headerCo ntainer8.clientHeight===0?"34px":headerContainer8. clientHeight+"px";YfakeScrollablePanel8.onscroll=f unction(ytab8){scrollablePanel8.scrollTop=YfakeScr ollablePanel8.scrollTop;};

var YtableEmulator9=document.getElementById('y-table-emulator9');var table9=document.getElementById('table-body9');YtableEmulator9.style.height=table9.client Height===0?"330px":table9.clientHeight+"px";var scrollablePanel9=document.getElementById('scroll9' );var headerContainer9=document.getElementById('header-container9');var YfakeScrollablePanel9=document.getElementById('y-fake-scroll9');YfakeScrollablePanel9.style.top=headerCo ntainer9.clientHeight===0?"34px":headerContainer9. clientHeight+"px";YfakeScrollablePanel9.onscroll=f unction(ytab9){scrollablePanel9.scrollTop=YfakeScr ollablePanel9.scrollTop;};

var YtableEmulator=document.getElementById('y-table-emulator');var table=document.getElementById('table-body');YtableEmulator.style.height=table.clientHei ght===0?"330px":table.clientHeight+"px";var scrollablePanel=document.getElementById('scroll'); var headerContainer=document.getElementById('header-container');var YfakeScrollablePanel=document.getElementById('y-fake-scroll');YfakeScrollablePanel.style.top=headerCont ainer.clientHeight===0?"34px":headerContainer.clie ntHeight+"px";YfakeScrollablePanel.onscroll=functi on(ytab){scrollablePanel.scrollTop=YfakeScrollable Panel.scrollTop;};

Lo más extraño de todo, es que el "error" supuestamente está en...

var YtableEmulator7=document.getElementById('y-table-emulator7');var table7=document.getElementById('table-body7');YtableEmulator7.style.height=table7.clientHeight===0

Es igual al resto y no logro comprender lo que hay que corregir...

De paso, quien me ayude a optimizar este código, me vendría genial

PD. Es un simple script para utilizar el scroll en un <tbody>.

Desde ya, muchas gracias!

Saudos,

Nicolás.
  #2 (permalink)  
Antiguo 15/07/2010, 12:38
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

Cita:
Iniciado por yournotfun Ver Mensaje
Buenas tardes, estuve intentando múltiples opciones para lograr la aceptación de este código por parte de IExplorer pero no logro cargarlo sin errores.

El código es:

var YtableEmulator1=document.getElementById('y-table-emulator1');var table1=document.getElementById('table-body1');YtableEmulator1.style.height=table1.client Height===0?"330px":table1.clientHeight+"px";var scrollablePanel1=document.getElementById('scroll1' );var headerContainer1=document.getElementById('header-container1');var YfakeScrollablePanel1=document.getElementById('y-fake-scroll1');YfakeScrollablePanel1.style.top=headerCo ntainer1.clientHeight===0?"34px":headerContainer1. clientHeight+"px";YfakeScrollablePanel1.onscroll=f unction(ytab1){scrollablePanel1.scrollTop=YfakeScr ollablePanel1.scrollTop;};

var YtableEmulator2=document.getElementById('y-table-emulator2');var table2=document.getElementById('table-body2');YtableEmulator2.style.height=table2.client Height===0?"330px":table2.clientHeight+"px";var scrollablePanel2=document.getElementById('scroll2' );var headerContainer2=document.getElementById('header-container2');var YfakeScrollablePanel2=document.getElementById('y-fake-scroll2');YfakeScrollablePanel2.style.top=headerCo ntainer2.clientHeight===0?"34px":headerContainer2. clientHeight+"px";YfakeScrollablePanel2.onscroll=f unction(ytab2){scrollablePanel2.scrollTop=YfakeScr ollablePanel2.scrollTop;};

var YtableEmulator3=document.getElementById('y-table-emulator3');var table3=document.getElementById('table-body3');YtableEmulator3.style.height=table3.client Height===0?"330px":table3.clientHeight+"px";var scrollablePanel3=document.getElementById('scroll3' );var headerContainer3=document.getElementById('header-container3');var YfakeScrollablePanel3=document.getElementById('y-fake-scroll3');YfakeScrollablePanel3.style.top=headerCo ntainer3.clientHeight===0?"34px":headerContainer3. clientHeight+"px";YfakeScrollablePanel3.onscroll=f unction(ytab3){scrollablePanel3.scrollTop=YfakeScr ollablePanel3.scrollTop;};

var YtableEmulator4=document.getElementById('y-table-emulator4');var table4=document.getElementById('table-body4');YtableEmulator4.style.height=table4.client Height===0?"330px":table4.clientHeight+"px";var scrollablePanel4=document.getElementById('scroll4' );var headerContainer4=document.getElementById('header-container4');var YfakeScrollablePanel4=document.getElementById('y-fake-scroll4');YfakeScrollablePanel4.style.top=headerCo ntainer4.clientHeight===0?"34px":headerContainer4. clientHeight+"px";YfakeScrollablePanel4.onscroll=f unction(ytab4){scrollablePanel4.scrollTop=YfakeScr ollablePanel4.scrollTop;};

var YtableEmulator5=document.getElementById('y-table-emulator5');var table5=document.getElementById('table-body5');YtableEmulator5.style.height=table5.client Height===0?"330px":table5.clientHeight+"px";var scrollablePanel5=document.getElementById('scroll5' );var headerContainer5=document.getElementById('header-container5');var YfakeScrollablePanel5=document.getElementById('y-fake-scroll5');YfakeScrollablePanel5.style.top=headerCo ntainer5.clientHeight===0?"34px":headerContainer5. clientHeight+"px";YfakeScrollablePanel5.onscroll=f unction(ytab5){scrollablePanel5.scrollTop=YfakeScr ollablePanel5.scrollTop;};

var YtableEmulator6=document.getElementById('y-table-emulator6');var table6=document.getElementById('table-body6');YtableEmulator6.style.height=table6.client Height===0?"330px":table6.clientHeight+"px";var scrollablePanel6=document.getElementById('scroll6' );var headerContainer6=document.getElementById('header-container6');var YfakeScrollablePanel6=document.getElementById('y-fake-scroll6');YfakeScrollablePanel6.style.top=headerCo ntainer6.clientHeight===0?"34px":headerContainer6. clientHeight+"px";YfakeScrollablePanel6.onscroll=f unction(ytab6){scrollablePanel6.scrollTop=YfakeScr ollablePanel6.scrollTop;};

var YtableEmulator7=document.getElementById('y-table-emulator7');var table7=document.getElementById('table-body7');YtableEmulator7.style.height=table7.client Height===0?"330px":table7.clientHeight+"px";var scrollablePanel7=document.getElementById('scroll7' );var headerContainer7=document.getElementById('header-container7');var YfakeScrollablePanel7=document.getElementById('y-fake-scroll7');YfakeScrollablePanel7.style.top=headerCo ntainer7.clientHeight===0?"34px":headerContainer7. clientHeight+"px";YfakeScrollablePanel7.onscroll=f unction(ytab7){scrollablePanel7.scrollTop=YfakeScr ollablePanel7.scrollTop;};

var YtableEmulator8=document.getElementById('y-table-emulator8');var table8=document.getElementById('table-body8');YtableEmulator8.style.height=table8.client Height===0?"330px":table8.clientHeight+"px";var scrollablePanel8=document.getElementById('scroll8' );var headerContainer8=document.getElementById('header-container8');var YfakeScrollablePanel8=document.getElementById('y-fake-scroll8');YfakeScrollablePanel8.style.top=headerCo ntainer8.clientHeight===0?"34px":headerContainer8. clientHeight+"px";YfakeScrollablePanel8.onscroll=f unction(ytab8){scrollablePanel8.scrollTop=YfakeScr ollablePanel8.scrollTop;};

var YtableEmulator9=document.getElementById('y-table-emulator9');var table9=document.getElementById('table-body9');YtableEmulator9.style.height=table9.client Height===0?"330px":table9.clientHeight+"px";var scrollablePanel9=document.getElementById('scroll9' );var headerContainer9=document.getElementById('header-container9');var YfakeScrollablePanel9=document.getElementById('y-fake-scroll9');YfakeScrollablePanel9.style.top=headerCo ntainer9.clientHeight===0?"34px":headerContainer9. clientHeight+"px";YfakeScrollablePanel9.onscroll=f unction(ytab9){scrollablePanel9.scrollTop=YfakeScr ollablePanel9.scrollTop;};

var YtableEmulator=document.getElementById('y-table-emulator');var table=document.getElementById('table-body');YtableEmulator.style.height=table.clientHei ght===0?"330px":table.clientHeight+"px";var scrollablePanel=document.getElementById('scroll'); var headerContainer=document.getElementById('header-container');var YfakeScrollablePanel=document.getElementById('y-fake-scroll');YfakeScrollablePanel.style.top=headerCont ainer.clientHeight===0?"34px":headerContainer.clie ntHeight+"px";YfakeScrollablePanel.onscroll=functi on(ytab){scrollablePanel.scrollTop=YfakeScrollable Panel.scrollTop;};

Lo más extraño de todo, es que el "error" supuestamente está en...

var YtableEmulator7=document.getElementById('y-table-emulator7');var table7=document.getElementById('table-body7');YtableEmulator7.style.height=table7.clientHeight===0

Es igual al resto y no logro comprender lo que hay que corregir...

De paso, quien me ayude a optimizar este código, me vendría genial

PD. Es un simple script para utilizar el scroll en un <tbody>.

Desde ya, muchas gracias!

Saudos,

Nicolás.
Estaría bueno que alguien me pudiera ayudar...
  #3 (permalink)  
Antiguo 15/07/2010, 13:12
Avatar de ciscoh4x0r  
Fecha de Ingreso: junio-2010
Ubicación: Londres, Inglaterra
Mensajes: 300
Antigüedad: 14 años, 5 meses
Puntos: 12
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

Hola, el error que te da es el de: "se requiere un objeto" ?? o te da mas errores? muestranos todos los errores que te da, y modificaste el codigo para que lo aceptara IE. Entonces, el codigo era valido solo para firefox? -e.j.- muestra tambien el original.
  #4 (permalink)  
Antiguo 19/07/2010, 20:14
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

Antes que nada quiero aclarar que se trata de un código para fijar un <thead> y como son varias tablas en una página necesito repetir este código varias veces con diferentes var para que funcione en cada una. Al menos no se me ocurre cómo homogenizar eso.

Exactamente ese es el error y estaría en la Línea 13, Caracter 116:

Te copio el error:

Cita:
Detalles de error de página web

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; Tablet PC 2.0)
Fecha: Tue, 20 Jul 2010 01:55:38 UTC

Mensaje: Se requiere un objeto
Línea: 13
Carácter: 116
Código: 0
URI: http://static.arana-sa.com/js/yscrolltable.js
El código JS original es este:

Cita:
var YtableEmulator=document.getElementById('y-table-emulator');
var table=document.getElementById('table-body');
YtableEmulator.style.height=table.clientHei ght===0?"330px":table.clientHeight+"px";
var scrollablePanel=document.getElementById('scroll');
var headerContainer=document.getElementById('header-container');
var YfakeScrollablePanel=document.getElementById('y-fake-scroll');
YfakeScrollablePanel.style.top=headerContainer.cli entHeight===0?"34px":headerContainer.clie ntHeight+"px";
YfakeScrollablePanel.onscroll=functi on(ytab){scrollablePanel.scrollTop=YfakeScrollable Panel.scrollTop;};
Ahora estaba probando uno por uno hasta que en la séptima repetición salta el mismo error en la Línea 57 Carácter 1, o sea a comienzos de este código a continuación:

Cita:
var YtableEmulator7=document.getElementById('y-table-emulator7');
var table7=document.getElementById('table-body7');
YtableEmulator7.style.height=table7.clientHeight== =0?"330px":table7.clientHeight+"px";
var scrollablePanel7=document.getElementById('scroll7' );
var headerContainer7=document.getElementById('header-container7');
var YfakeScrollablePanel7=document.getElementById('y-fake-scroll7');
YfakeScrollablePanel7.style.top=headerContainer7.c lientHeight===0?"34px":headerContainer7.clientHeig ht+"px";
YfakeScrollablePanel7.onscroll=function(ytab7){scr ollablePanel7.scrollTop=YfakeScrollablePanel7.scro llTop;};
La verdad que no lo entiendo... Espero que me puedas explicar!

Saludos.
  #5 (permalink)  
Antiguo 22/07/2010, 09:04
Avatar de ciscoh4x0r  
Fecha de Ingreso: junio-2010
Ubicación: Londres, Inglaterra
Mensajes: 300
Antigüedad: 14 años, 5 meses
Puntos: 12
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

Hola, he estado intentado revisar bien el codigo y creo que se ladea a que estas usando varios: "var" como le llamas:

Cita:
Ahora estaba probando uno por uno hasta que en la séptima repetición salta el mismo error en la Línea 57 Carácter 1, o sea a comienzos de este código a continuación:

Cita:
var YtableEmulator7=document.getElementById('y-table-emulator7');
var table7=document.getElementById('table-body7');
YtableEmulator7.style.height=table7.clientHeight== =0?"330px":table7.clientHeight+"px";
var scrollablePanel7=document.getElementById('scroll7' );
var headerContainer7=document.getElementById('header-container7');
var YfakeScrollablePanel7=document.getElementById('y-fake-scroll7');
YfakeScrollablePanel7.style.top=headerContainer7.c lientHeight===0?"34px":headerContainer7.clientHeig ht+"px";
YfakeScrollablePanel7.onscroll=function(ytab7){scr ollablePanel7.scrollTop=YfakeScrollablePanel7.scro llTop;};


Ya probaste con menos? que resultados te da? voy a seguir tratando de encontrar una solucion y te dejo saber.
  #6 (permalink)  
Antiguo 22/07/2010, 15:19
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

El error se da justamente al inicio de la séptima repitición. Cuando pruebo hasta la sexta me carga todo Ok.

Gracias por la ayuda :)
  #7 (permalink)  
Antiguo 23/07/2010, 08:57
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años, 7 meses
Puntos: 4
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

nose si es que has copiado el codigo incompleto hasta donde te da el error o que, pero revisa la linea donde te da error, y es diferente a donde no te lo da

Asi lo tienes en todas las anteriores, solo en la del error no, pero como te digo, nose si es que has cortado el codigo....
Código Javascript:
Ver original
  1. YtableEmulator9.style.height=table9.client Height===0?"330px":table9.clientHeight+"px";var scrollablePanel9=document.getElementById('scroll9' );
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #8 (permalink)  
Antiguo 25/07/2010, 15:36
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

El código lo copié completo al principio de todo, y especifiqué donde está el error.

La línea que me dice que revise el mismo IExplorer es una línea que es IDENTICA a la misma línea que corresponde a una diferente variable. Solamente eso cambia, nada más.

Según IExplorer este código:

var YtableEmulator6=document.getElementById('y-table-emulator6');var table6=document.getElementById('table-body6');YtableEmulator6.style.height=table6.client Height===0?"330px":table6.clientHeight+"px";var scrollablePanel6=document.getElementById('scroll6' );var headerContainer6=document.getElementById('header-container6');var YfakeScrollablePanel6=document.getElementById('y-fake-scroll6');YfakeScrollablePanel6.style.top=headerCo ntainer6.clientHeight===0?"34px":headerContainer6. clientHeight+"px";YfakeScrollablePanel6.onscroll=f unction(ytab6){scrollablePanel6.scrollTop=YfakeScr ollablePanel6.scrollTop;};

no es el mismo que:

var YtableEmulator7=document.getElementById('y-table-emulator7');var table7=document.getElementById('table-body7');YtableEmulator7.style.height=table7.client Height===0?"330px":table7.clientHeight+"px";var scrollablePanel7=document.getElementById('scroll7' );var headerContainer7=document.getElementById('header-container7');var YfakeScrollablePanel7=document.getElementById('y-fake-scroll7');YfakeScrollablePanel7.style.top=headerCo ntainer7.clientHeight===0?"34px":headerContainer7. clientHeight+"px";YfakeScrollablePanel7.onscroll=f unction(ytab7){scrollablePanel7.scrollTop=YfakeScr ollablePanel7.scrollTop;};

Por qué digo esto? Porque el error me lo marca al comienzo de "var YtableEmulator7..." lo que es rídiculo.

Que alguien me explique dónde está la diferencia, porque yo no la veo... Y este código se sigue repitiendo para diferentes variables hasta llegar a la 9... Como verás, se repite el mismo código por diferenta tabla.

Esto lo puedo hacer con el mismo ID para todas las tablas, pero como estoy trabajando XHTML 1.0 no es válido tener el mismo ID repetido.

Seguramente esto no tenga solución... lo veo poco viable.

Saludos.
  #9 (permalink)  
Antiguo 28/07/2010, 20:18
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error "Se requiere un objeto" JavaScript IExplorer

Si bien nadie respondió todavía, quiero aclarar que esas separaciones raras que ven ahí (por ej. "headerCo ntainer") no están en el código original que tengo en el js.

Asique, hagan de cuenta que eso no existe :P

Etiquetas: iexplorer, objeto, requiere
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 03:08.