Comunidad de diseño web y desarrollo en internet online

Carga y luego se va...???

Citar            
MensajeEscrito el 20 Jul 2008 11:52 pm
Hola Cristalab espero que me ayuden en este mi problema que ahora se llama ajax, mi codigo es el siguiente:

Código :

function obtenerXHR(){
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    }
  }
}
return req;
   return req;
}
function cargar(url){
var direccion=url;
var peticion=obtenerXHR();
peticion.open('get',direccion,true);
peticion.onreadystatechange= function(){
   if(peticion.readyState==4){
      alert ('iniciando');
      if(peticion.status==200){
         document.getElementById('cargacont').innerHTML=peticion.responseText;
         alert ('Se acabo con carga');
      }
   }   
   }
peticion.send(null);
}

Este es el codigo Js. que carga a mi pagina los datos solicitados por un hiperlink y tambien lo he probado con un div, lo que pasa es que todo funciona bien se carga y sale el ultimo alert 'Se acabo con carga' luego de cerrar el alert todo se borra y se queda en blanco', ahora justo lo he probado con un boton y no desaparece funciona bien, cual seria la causa y la solucion a este mi probelma me podrian explicar por favor. aqui le spongo el codigo del Div

Código :

<div class="bannagom" onclick="cargar('servicios/mapa/mapa.html')">
   <a href="" title="Mapa de Coracora">Mapa de Coracora</a>
</div>

y este es de hiperlink

Código :

<li><a href="" onclick="cargar('primero.txt')">Inicio</a></li>


Esos son los que hacen que se carge solo hasta el mensaje de listo, luego desaparece .....
chauuu gracias Cristalab.

Por FlexandFlash

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2008 12:47 am
Creo que se debe, a que no has anulado el enlace.
Es decir:
<a href="" onclick="cargar('primero.txt')">
Primero, ejecuta el "onclick" -> cargar()
Y luego, el "href" -> blank
(si hubieras puesto href="google.es", habrías visto que se iba a google)

¿Cómo arreglarlo?
Cancela el enlace, para que no se ejecute el href.

Una vía:
return false;

Puedes ponerlo al final del "onclick", o bien al final de la función cargar (osea, dentro de ella, pero al final-final)
(aunque no estoy seguro de si funcionará el segundo sitio)

Ya nos contarás.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 21 Jul 2008 01:39 am
Muchas gracias rizome por tu ayuda, no pude cancelarlo como me dijiste con el 'return false' pero por tu idea de cancelar busque en google y logre cancelar con '#', pero quisiera que me digas si esta bien cancelado o que ha pasado..pero si funciona ya..
Gracias Rizome.

Por FlexandFlash

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2008 04:52 am
Hola una vez mas rizome, creo que esta vez halla la repuesta correcta, en el anteior solo hera un hipervinculo interno, pero ahora si lo he cancelado al href. el codigo es

Código :

<li><a href="" onclick="cargar('primero.txt');return false;">Inicio</a></li>

Gracias por tu ayuda rizome......y a todo Cristalab.

Por FlexandFlash

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2008 09:17 am
Efectivamente, lo que has hecho en tu último código, es lo que te recomendaba:

rizome escribió:

Puedes ponerlo (el "return false;") al final del "onclick"
tal y como has terminado haciendo.

El poner el "#", en el href, tiene su motivo por el que también funciona. Pues al ser, enlace interno, la página no cambia.
De hecho, lo adecuado, sería que hicieses ambas cosas: además del "return false", poner el "#"

fué un placer.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.