referencia no definida en JavaScript [Solucionado]

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: maiku, akodo

Responder
Avatar de Usuario
Juanp_1982
Forista Mayor
Forista Mayor
Mensajes: 913
Registrado: Dom Ago 13, 2006 7:00 am
Ubicación: Toronto, Canada

referencia no definida en JavaScript [Solucionado]

Mensaje por Juanp_1982 »

Hola a Todos!

estoy aprendiendo sobre Ajax y frames ocultos estoy reescribiendo los ejemplos del libro y me sale un error que no veo el porque esta "idefinido" reviso y todo esta bien escrito y como dice el libro este es el error que me da firebug

reference to undefined property top.frames.hiddenFrame

Line 9
esta es la funcion en cuestion

Código: Seleccionar todo

function requestCustomerInfo(){
                        var sID = document.getElementById("txtCustomerId").value;
                        top.frames["hiddenFrame"].location = "GetCustomerData.php?id=" + sID; /*<<<<<<<<<esta es la linea que me da el problema*/
                  }
la pagina con el codigo completo esta aqui

http://jpmolinamatute.com/testing/Ajax/CustomerID.xhtml

como siempre cualquier comentario es bien recibido! muchas gracias!
Última edición por Juanp_1982 el Sab Oct 08, 2011 12:39 am, editado 1 vez en total.
La Hora Mas oscura es una antes de que Amanesca (Anonimo)

Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1528
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.

Re: referencia no definida en JavaScript

Mensaje por maiku »

saludos.

Parece que el error no es de esa línea, si no más bien del uso del xhtml. para ser exacto CustomerID.xhtml. El atributo name no es utilizado y cambia por id
In XHTML, the name attribute of the frame tag is deprecated, and will be removed. Use the id attribute instead.
Por lo que en vez de name="displayFrame" y name="hiddenFrame" debes usar id="displayFrame" y id="hiddenFrame", o acceder mediante su índice de array: top.frames[1].location... (el 1 pertenece al array en cuestión)

Por otra parte parece que no verás el resultado en la pantalla aunque se ejecute correctamente, a menos que tengas como plan de redimensionar los frame al ejecutar. Lo digo por esto:

frameset rows="100%, 0" style.....

lo ideal es dejar 50%,*
Grüße...
Maiku

Full linux alchemist!!!

Avatar de Usuario
Juanp_1982
Forista Mayor
Forista Mayor
Mensajes: 913
Registrado: Dom Ago 13, 2006 7:00 am
Ubicación: Toronto, Canada

Re: referencia no definida en JavaScript

Mensaje por Juanp_1982 »

Hola maiku

la idea del marco oculto (hidden) es la del motor de ajax, es le que va a hacer todas las llamadas al servidor y luego mostrarlas en el otro marco, por eso es que se pone ese tamanio. Encontre otro Errores que pense que tenian que ver con este error pero no (errores de conexion a la base de dato)

cambien los atributos como me mencionastes (netbeans tambien me advirtio al respecto) y nada

me podrias explicar mejor esto
array: top.frames[1].location... (el 1 pertenece al array en cuestión)
???? por favor


descargue los archivos de la pagina oficial de la editorial y no veo ninguna diferencia

http://dl.dropbox.com/u/38105514/Hidden ... xample.php este es CustomerID

http://dl.dropbox.com/u/38105514/DataDisplay.php este es la pagina que aparece en el marco que se muestra

a estos dos archivos yo les puse la extencion .xhtml porque no tiene ningun codigo PHP

y por ultimo esta el script que hace la consulta a la base de dato

http://dl.dropbox.com/u/38105514/GetCustomerData.php


cuando la pagina logre funcionar deberia aparecer un mensaje que diga que no hay ningun dato porque la base de dato esta vacia pero si deberia aparecer este mensaje apesar de esto


gracias por los comentarios!!

Editado -- Lun Oct 03, 2011 7:17 pm --

ahora estoy usando la consola de google-chrome y me da un error diferente
Uncaught TypeError: Cannot read property 'displayFrame' of undefined
en esta linea 9 pero en el archivo GetCustomerData.php

Código: Seleccionar todo

top.frame["displayFrame"].displayCustomerInfo(divInfoToReturn.innerHTML);
en ambos navegadores me da error como uso top, pueden ver algo malo en como lo estoy usando????
La Hora Mas oscura es una antes de que Amanesca (Anonimo)

Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1528
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.

Re: referencia no definida en JavaScript

Mensaje por maiku »

veo que has cambiado name por id. Lamentablemente el error es de otro archivo (ya no es el mismo). Revisaré dentro unas cuantas, horas, debo ir a trabajar.
Grüße...
Maiku

Full linux alchemist!!!

Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1528
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.

Re: referencia no definida en JavaScript

Mensaje por maiku »

Agrego un poco a la carrera. El otro archivo no es GetCustomerData.php (no es xhtml, de nuevo, usamos la otra característica)

una sana práctica para no tener errores es agregar ambas características: id y name. Por lo tanto te sugiero agregues ambos:

Código: Seleccionar todo

id="displayFrame"  name="displayFrame"
Nos cuentas como te fue.
Grüße...
Maiku

Full linux alchemist!!!

Avatar de Usuario
maiku
Moderador
Moderador
Mensajes: 1528
Registrado: Jue Abr 19, 2007 7:00 am
Ubicación: Cojutepeque, El Salvador C. A.

Re: referencia no definida en JavaScript

Mensaje por maiku »

Juan, Encontré el error :P (perdon por tardar, es que estaba en finales de la U)

Tienes esto en GetCustomerData.php:
Juanp_1982 escribió:

Código: Seleccionar todo

top.frame["displayFrame"].displayCustomerInfo(divInfoToReturn.innerHTML);
pero una letra falta
Juanp_1982 escribió:

Código: Seleccionar todo

top.frames["displayFrame"].displayCustomerInfo(divInfoToReturn.innerHTML);
(top.frames)
Prueba de nuevo por favor (en mi caso ya obtengo el resultado deseado)
Grüße...
Maiku

Full linux alchemist!!!

Avatar de Usuario
Juanp_1982
Forista Mayor
Forista Mayor
Mensajes: 913
Registrado: Dom Ago 13, 2006 7:00 am
Ubicación: Toronto, Canada

Re: referencia no definida en JavaScript

Mensaje por Juanp_1982 »

listo!!!!! gracias!!!!! :-)
La Hora Mas oscura es una antes de que Amanesca (Anonimo)

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje