La página tiene algunos vinculos, al cliquear sobre alguno de ellos, se ejecuta el Ajax. El problema está en que si la página se llama mostrar.html, al pinchar en el vinculo me lleva a mostrar.html#. ¿Como puedo evitar que se ejecute la redirección?
Código PHP:
function addEvent(elemento,nomevento,funcion)
{
if (elemento.attachEvent)
{
elemento.attachEvent('on'+nomevento,funcion);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,false);
return true;
}
else
return false;
}
function creaAjax() {
var objetoAjax=null;
try
{
// Firefox, Opera 8.0+, Safari
objetoAjax=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
objetoAjax=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
objetoAjax=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return objetoAjax;
}
Código:
<a href="#" id="782">Modificar</a> <br> <a href="#" id="781">Modificar</a> <br><br><br> <div id="post_782"></div> <div id="post_781"></div>
Código PHP:
var ref = new Array(781,782);
for (var i = 0; i < ref.length; i++) {
addEvent(document.getElementById(ref[i]),'click',function(m) {
var ajax=creaAjax();
var objeto = document.getElementById('post_'+this.id);
ajax.open ('GET', 'modificar.asp?sid='+this.id, true);
ajax.onreadystatechange = function() {
if (ajax==null){
alert ("Tu navegador web no soporta AJAX!");
return;
}
if (ajax.readyState==1 || ajax.readyState==2 || ajax.readyState==3) {
objeto.innerHTML = "Cargando .......";
}
else if (ajax.readyState==4){
if(ajax.status==200){
objeto.innerHTML += ajax.responseText;
}
else if (ajax.status==404)
{
objeto.innerHTML = "La dirección no existe";
}
else
{
objeto.innerHTML = "Error: " + ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
})
}