Foros del Web » Programando para Internet » Javascript »

Error: Se requiere un objeto

Estas en el tema de Error: Se requiere un objeto en el foro de Javascript en Foros del Web. Hola Estoy trabajando con Ajax ( primera vez en la vida que lo veo) y como estoy manteniendo un sistema debo arreglar ciertas cosas: Básicamente ...
  #1 (permalink)  
Antiguo 16/10/2012, 10:00
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
Error: Se requiere un objeto

Hola

Estoy trabajando con Ajax ( primera vez en la vida que lo veo) y como estoy manteniendo un sistema debo arreglar ciertas cosas:

Básicamente esto es lo que hace: tengo dos páginas que se cargan en cada uno de los paneles: derecho e izquierdo. Desde el panel derecho tengo opciones para cargar al panel izq. Existe un botón que cuando le doy click debería agregarme una tabla al lado izq. Lo hace, pero debo refrescar la página para ver el resultado y me arroja el error: "null" es nulo o no es un objeto.

Les dejo el código donde me arroja el error:

Código PHP:
var tabla PanelIzquierdo.document.getElementById("tbodyOpcion" idatencion);
                                                                                var 
row PanelIzquierdo.document.createElement"tr");
                                                                                
row.id 'tr' numFila ;
                                                                                
tabla.appendChildrow ); 
En tabla.appendChild(row) me arroja el error.
Ojalá me puedan guiar, porque la verdad, más que para validaciones no había usado el javascript.

Saludos
  #2 (permalink)  
Antiguo 16/10/2012, 12:14
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Error: Se requiere un objeto

Que se supone que es "PanelIzquierdo"
la identificación de la tabla (ó el tbody si lo preferís) sobre la cual crear filas sería

Código Javascript:
Ver original
  1. document.getElementById('id_de_la_tabla');

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 16/10/2012 a las 12:27
  #3 (permalink)  
Antiguo 16/10/2012, 12:41
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Error: Se requiere un objeto

Hola emprear

Te cuento, así se llama mi panel izquierdo donde cargo datos y/o gestiono eventos.

Y el ID de la tabla se genera a partir de un código recibido por parámetro, por eso está concatenado de esta manera:
Código:
 PanelIzquierdo.document.getElementById("tbodyOpcion" + idatencion);
Saludos y gracias por la respuesta :)
  #4 (permalink)  
Antiguo 16/10/2012, 12:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Error: Se requiere un objeto

Cita:
Iniciado por petiza Ver Mensaje
Hola emprear

Te cuento, así se llama mi panel izquierdo donde cargo datos y/o gestiono eventos.

Y el ID de la tabla se genera a partir de un código recibido por parámetro, por eso está concatenado de esta manera:
Código:
 PanelIzquierdo.document.getElementById("tbodyOpcion" + idatencion);
Saludos y gracias por la respuesta :)
A ver, el Ajax no lo veo por ninguna parte, vos en tu script estás intentando añadir filas dinamicamente a una tabla, eso se hace así
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function af(){
  9. var tabla = document.getElementById('mi_tabla'); //identificamos la tabla
  10. var fila = document.createElement("tr"); //creamos una fila
  11. tabla.appendChild(fila); // agregamos la fila
  12. var td1 = document.createElement('td');//creamos una celda
  13. td1.appendChild(document.createTextNode("hola"));// agregamos contenido a la celda
  14. fila.appendChild(td1); // generamos la celda en la fila
  15. }
  16. //]]>
  17. </head>
  18. <button onclick="af();">af</button>
  19. <table id="mi_tabla" border="1">
  20. <tr><th>Nombre</th></tr>
  21. </body>
  22. </html>

En ningún momento creas una tabla, y si tu panel izquierdo (supongamos un div) contiene una tabla, la misma se identifica tan solo con su id, no con el id del div que la contiene.
Con Ajax podrías cargar un html conteniendo una tabla, como sea en ningun caso haciendo esto, al menos de lo que se intuye, la página tiene que recargarse.

Te recomendaría la lectura de algún buen manual/tutorial para que aclares tus conceptos
http://librosweb.es
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 16/10/2012, 13:03
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Error: Se requiere un objeto

Te explico: este código está hecho hace mucho tiempo por n programadores.
Yo solo he tratado el javascript para validar que mis campos no vengan vacíos porque la verdad siempre he trabajado con .net o vb 6.0 y , se "supone", todo el código que estoy viendo está hecho con Ajax. No coloco toda la llamada porque faltarían páginas para pegar el código, por eso dejo solo esa instrucción que es donde aparece el error.

Y si, concuerdo contigo con que al parecer necesita refrescarse para poder cargar visualmente el campo que se necesita.

Lo que no se es que, si se supone que ajax no necesita el refresh de la página entera, entonces, qué debería ir entre medio para que se auto refresque solo el trozo de creación de la tabla?

Por eso pedí ayuda, porque de javasript ni idea.
  #6 (permalink)  
Antiguo 16/10/2012, 13:22
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Error: Se requiere un objeto

Cita:
Iniciado por petiza Ver Mensaje
Lo que no se es que, si se supone que ajax no necesita el refresh de la página entera, entonces, qué debería ir entre medio para que se auto refresque solo el trozo de creación de la tabla?

R: Hacer un setInterval a la función que carga el contenido en un div específico

Por eso pedí ayuda, porque de javasript ni idea.
R: Ahora te preguntarás que es un setInterval
Demo:
http://foros.emprear.com/ajax/demo/test.php
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 16/10/2012, 13:35
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Error: Se requiere un objeto

Me parece una solución adecuada.
La voy a adaptar a lo que tengo por código y comento.

Gracias

Etiquetas: ajax, 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 17:39.