Lo que quiero es que cuando clicke en la opción del menú ajax, pues evidentemente la url se actualice con el hash sin recargar la web.
Tengo 2 capas en la libreriaAjax.js, la capaContenedoraMenu y la capaContenedora, que es la que actualiza cuando elegimos del menú. Aquí lo podéis ver:
Código:
function creaAjax(){
var objetoAjax=false;
try {
/*Para navegadores distintos a internet explorer*/
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
/*Para explorer*/
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}
if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}
function FAjax (url,capa,valores,metodo)
{
var ajax=creaAjax();
var capaContenedora = document.getElementById(capa);
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="<img src=imagenes/cargando.gif>";
}
else if (ajax.readyState==4){
if(ajax.status==200){
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
}
function FAjaxMenu (url,capa,valores,metodo)
{
var ajax=creaAjax();
var capaContenedoraMenu = document.getElementById(capa);
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaMenu.innerHTML="<img src=imagenes/cargando.gif>";
}
else if (ajax.readyState==4){
if(ajax.status==200){
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaMenu.innerHTML = "La direccion existe";
}
else
{
capaMenu.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
}
Y el código del menú es, os pongo sólo la parte que debería actualizar el hash:
Código:
No sería esto suficiente para que al clickar en la opción del menú, además de actualizar la capaContenedora (que ya me funciona bien), actualizará la url con el hash a partir del # ¿?¿?<tr>
<td width="180" class="menu-td"><a href="#sport=<?php echo $deporte; ?>&country=<?php echo $pais; ?>&league=<?php echo $liga; ?>&event=<?php echo $evento; ?>&ref=<?php echo $afiliado; ?>" onClick="FAjax('sportsbetting-event.php?sport='+ '<?php echo $deporte; ?>'+'&country='+ '<?php echo $pais; ?>'+'&league='+ '<?php echo $liga; ?>'+'&event='+ '<?php echo $evento; ?>'+'&ref='+ '<?php echo $afiliado; ?>' ,'capaContenedora','','get'); return false"><?php echo $evento; ?></a></td>
</tr>
Muchas gracias amigos, como siempre por la ayuda.




