Hola que tal a todos...
Comienzo en el tema de desarrollo web con ajax y me he encontrado con un problemilla:
Estoy comenzando un sitio web en el cual quiero cargar todas las opciones de mi menu en un Div central, para no tener que refrescar cada vez que accesen a las opciones del menu.
Coloque el siguiente codigo en el archivo funciones.js
Código:
function objetoAjax(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function Pagina(npagina){
divContenido = document.getElementById('contenido');
ajax=objetoAjax();
var aleatorio=Math.random("1,200");
ajax.open("POST",npagina+"?aleatorio="+aleatorio,true);
ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajax.onreadystatechange=function() {
if (ajax.readyState==1) {
divContenido.innerHTML= '<center><img src="imagenes/cargando.gif" border=0> <span class=texto-naranja>Cargando..</span></center>';
}
if (ajax.readyState==4) {
divContenido.innerHTML = ajax.responseText;
}
}
ajax.send(null)
}
Y conoque en mi index la etiqueta
<div id="contenido">
<?php include('portada.php')?>
</div>
Haciendo con esto que la portada se cargue automaticamente al entrar y que aqui se visualize el contenido cargado de Ajax.
El codigo que puse para accesar a las opciones es:
<a href=# onClick="Pagina('portada.php')"><img src=imagenes/b_portada.gif width=132 height=28 border=0></a>
Cuando acceso a la portada mediante el enlace de mi menu todo va bien, solo que puse otra opcion en donde se va a accesar a la pagina "registro.php", en donde pretendo que se den de alta usuarios, y en dicha hoja se queda el mensaje de Cargando.. mientras que deje la etiqueta <form action="registro_final.php" name=datos method="post" >,
cuando le quito esta etiqueta todo sigue normal, visualizandose el resto del contenido de la hoja registro.php
Cabe aclarar que declare la variable aleatorio en la funcion de ajax del archivo funciones.js para que cada vez que lo ejecutara en modo localhost me diera la pagina actualizada, de lo contrario me daba la de cache del navegador sin actualizar.
Ojala me puedan ayudar por queno he podido resolver este problemilla..
Gracias de antemano..