Regresar   Foros del Web > Programación para sitios web > AJAX

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 30/04/08, 04:22:32   #1 (permalink)
nebus ha deshabilitado el Karma
 
Registrado: abr 2008
Mensajes: 7
nebus is offline  
Shadowbox y Ajax

Hola,

He estado viendo los otros mensajes referentes a problemas con javascript y ajax pero no tengo muy claro que mi problema tenga que ver con eso.

Mi caso consiste en una pagina, index.jsp, en la cual creo codigo dinamicamente con java en jsp's que cargo con ajax en un div.

El caso es que en una de estas jsp quiero mostrar unos detalles con shadowbox. Las librerias y estilos han sido añadidas en el index y funcionan correctamente en partes estaticas del mismo index. En el jsp dinamico creo un link (<a>) con el rel adecuado, exactamente igual que en las otras pruebas, pero en este caso no funciona...

A que puede ser debido? En otros jsp's creados dinamicamente hago uso de otras librerias js correctamente...y esta no se porque no.

Saludos y muchas gracias!
  Responder Con Cita
Antiguo 30/04/08, 08:02:58   #2 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.182
GatorV is online now  
Re: Shadowbox y Ajax

Hola nebus,

Revisa este link: HOWTO: Ejecutar javascript que viene de ajax

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 02/05/08, 01:22:36   #3 (permalink)
nebus ha deshabilitado el Karma
 
Registrado: abr 2008
Mensajes: 7
nebus is offline  
Re: Shadowbox y Ajax

Hola,

Muchas gracias por tu respuesta. Ya lei ese articulo pero yo no quiero ejecutar codigo javascript directamente colocado en las paginas que cargo con ajax. En la pagina principal estan declaradas todas las librerias necesarias y en las paginas que cargo con ajax simplemente tengo algo como:

Código HTML:
<a href="mapa.htm" rel="shadowbox;width=500;height=400">
De todas formas voy a probar con esa solución porque estoy desesperado ya jeje.

Saludos y muchas gracias!
  Responder Con Cita
Antiguo 02/05/08, 08:33:59   #4 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.182
GatorV is online now  
Re: Shadowbox y Ajax

En otro post precisamente MoboraK comentaba que debías de re-llamar a Shadowbox.init() nuevamente en tus llamadas asíncronas para que la librería registre los nuevos links.

Prueba eso.

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 05/05/08, 01:38:28   #5 (permalink)
nebus ha deshabilitado el Karma
 
Registrado: abr 2008
Mensajes: 7
nebus is offline  
Re: Shadowbox y Ajax

Hola de nuevo,

Muchas gracias por la respuesta. He probado las dos soluciones que se proponen en el otro tema incluyendo una llamada al init de shadowbox en la pagina cargada con ajax y sigue sin funcionar

Alguna idea mas? Muchas gracias!
  Responder Con Cita
Antiguo 05/05/08, 09:07:13   #6 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.182
GatorV is online now  
Re: Shadowbox y Ajax

Hola nebus,

Leyendo un poco de Shadowbox, en tu función onreadystatechange, debes de llamar a Shadowbox.setup('id_de_tu_div') para volver a cargar los eventos de Shadowbox.

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 06/05/08, 01:36:16   #7 (permalink)
nebus ha deshabilitado el Karma
 
Registrado: abr 2008
Mensajes: 7
nebus is offline  
Re: Shadowbox y Ajax

Hola de nuevo,

Muchisimas gracias por tus respuestas y tu tiempo. He puesto la llamada al setup de shadowbox en mi funcion:

Código:
function FAjax (url,capa,valores,metodo)
{
          var ajax=creaAjax();
          var capaContenedora = document.getElementById(capa);

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
if(metodo.toUpperCase()=='POST'){
         ajax.open ('POST', url, true);
         ajax.onreadystatechange = function() {
	         if (ajax.readyState==1) {
	         	capaContenedora.innerHTML="<p align='center'><font color='#336699' face='Verdana, Arial, Helvetica, sans-serif'>Cargando.......</font></p>";
	         }
	         else if (ajax.readyState==4){
			 	if(ajax.status==200){
		       		/*var scs=ajax.responseText.extractScript();    //capturamos los scripts
					document.getElementById(capa).innerHTML=ajax.responseText;    //eliminamos los scripts... ya son innecesarios
					scs.evalScript();       //ahora si, comenzamos a interpretar todo  */
	         		document.getElementById(capa).innerHTML=ajax.responseText;
	   			}
	   			else if(ajax.status==404){
		            capaContenedora.innerHTML = "La direccion no existe";
	            }
	    	    else{
	            	capaContenedora.innerHTML = "Error: ".ajax.status;
	            }
	         }
	         Shadowbox.setup(capa,{ width:640, height:480 });
  		 }
         ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
         
         ajax.send(valores);
         return;
}
Y ahora me da un error en prototype:

"element has no properties" en el fichero prototype.js linea 3796. Concretamente en esta parte del codigo de prototype.js

Código:
function getEventID(element) {
    if (element._eventID) return element._eventID;
    arguments.callee.id = arguments.callee.id || 1;
    return element._eventID = ++arguments.callee.id;
  }
Alguna idea, voy a seguir investigando.

Saludos!
  Responder Con Cita
Antiguo 06/05/08, 04:05:02   #8 (permalink)
nebus ha deshabilitado el Karma
 
Registrado: abr 2008
Mensajes: 7
nebus is offline  
Re: Shadowbox y Ajax

Bueno, pues por fin he conseguido que funcione, aunque ahora tengo otro problema.

La solución ha sido poner la llamada al setup en la función onreadystatechange, pero en vez de pasarle el nombre del div, pasarle un array con los enlaces que contiene ese div de esta manera:

Código:
Shadowbox.setup(document.getElementById(capa).getElementsByTagName('a'),{ width:640, height:480 });
Con eso basta para que funcione, pero mi nuevo problema creo que es un poco mas generico, ya que no me abre ninguna pagina JSP con shadowbox, da igual donde ponga el link, no abre paginas JSP. Voy a investigar un poco más este tema.

Muchas gracias!

Saludos!
  Responder Con Cita
Antiguo 06/05/08, 08:16:20   #9 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.182
GatorV is online now  
Re: Shadowbox y Ajax

Hola nebus,

Me da gusto saber que ya funciono correctamente. Tu segundo problema, checa bien que puedas abrir los JSP directamente (copiando y pegando la URL).

Saludos.
__________________
Blog Web
  Responder Con Cita
Antiguo 06/05/08, 08:52:34   #10 (permalink)
nebus ha deshabilitado el Karma
 
Registrado: abr 2008
Mensajes: 7
nebus is offline  
Re: Shadowbox y Ajax

Hola,

Los JSP funcionan bien, no se que puede pasar con este tipo de archivos... he solucionado este problema poniendo lo que queria en unos divs ocultos y mostrandolos con shadowbox.

Ahora el problema de mi solucion es que al parecer si le pasas una lista de links, 'a', los convierte todos, tengan o no el rel adecuado, para que abran una ventana de shadowbox y no quiero que todos los enlaces abran eso.

Por lo que ahora me las estoy ingeniando para hacer un script que me devuelva todos los links que tengan en el rel 'shadowbox'

Alguna sugerencia?

Muchisimas gracias!
  Responder Con Cita
Antiguo 06/05/08, 11:35:45   #11 (permalink)
Moderador
GatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karmaGatorV tiene un muy buen nivel de karma
 
Registrado: may 2006
Ubicación: Queretaro, Mexico
Mensajes: 9.182
GatorV is online now  
Re: Shadowbox y Ajax

A lo mejor lo que podrías hacer es agregarle un class que diferencie que es para el shadowbox, y usar prototype con la función $$.

Saludos.
__________________
Blog Web
  Responder Con Cita
Respuesta


Califica este Tema - Shadowbox y Ajax.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 15:41:53.

Message Board Statistics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96